如何在Ubuntu 16.04中为Apache创建一套自签名SSL证书

使用Openssl为Tomcat配置SSL(双向认证) 转载请注明出处:http://blog.csdn.net/sunyujia/其实我手头上有许多正规ca颁发的证书不过都是过期的,每次使用都需要调整系统日期,不方便,所以就想自己做一套以备平时测试使用。本文只介绍如何配置,至于理论性的东西请读者自行 百度或者google 网上很多配置步骤:1.安装检查openssl环境安装openssl的方法见http://blog.csdn.n 阅读详情

提供:ZStack云计算

内容介绍

TLS,全称为传输层安全,及其前身SSL,全称为安全嵌套层,都属于将普通流量打包为受保护加密封装的Web协议。

使用这项技术,服务器能够在服务器与客户间安装传输数据,而无需担心消息为外部所截获。其证书系统还能够帮助用户核实其所连接站点的身份。

在本教程中,我们将探讨如何在Ubuntu 16.04服务器上为Apache Web服务器设置一份自签名SSL证书。

注意:自签名证书将对服务器与客户端间的通信内容进行加密。然而,由于其签名并非来自受信证书中心,因此用户无法使用该证书自动验证服务器身份。

自签名证书适用于那些服务器不具备相关域名的情况,特别是那些不面向用户的加密Web接口实例。如果大家拥有域名,那么一般来说最好是使用CA签名证书。大家可以参阅此文了解如何利用Let’s Encrypt设置免费受信证书。

先决条件

在开始之前,大家首先应该拥有一个具备sudo权限的非root用户。参阅Ubuntu 16.04初始服务器设置一文了解如何设置这样的用户账户。

另外,大家还需要安装一套Apache Web服务器。如果各位希望在服务器上安装LAMP(即Linux、Apache、MySQL与PHP)堆栈,请参阅在Ubuntu 16.04上设置LAMP。如果大家只希望使用Apache Web服务器,则请路过教程中的PHP与MySQL部分。

第一步:创建SSL证书

TLS/SSL采用公共证书与私钥的结合体。SSL密钥在服务器上进行安全保存,用于对发送至客户端的内容进行加密。SSL证书则由任何请求该内容的用户共享,可用于解密对应SSL密钥所签署的内容。

大家可以使用以下命令利用OpenSSL创建一条自签名密钥与证书:

  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

下面来看命令中的各部分内容:

  • openssl: 基本命令行工具,用于创建并管理OpenSSL证书、密钥与其它文件。
  • req: 此子命令指定我们希望使用X.509证书签名请求(简称CSR)管理。其中X.509是一项公钥基础设施标准,SSL与TLS将其指定为密钥与证书管理机制。
  • -x509: 进一步修改前一条子命令,告知工具我们需要的是自签名证书,而非生成普通的证书签名请求。
  • -nodes: 告知OpenSSL跳过利用密码保护证书的选项。我们的Apache需要在服务器启动时能够在不经用户许可的情况下读取该文件,而密码会影响到这一流程。
  • -days 365: 此选项选定证书的有效时限。我们将其设定为一年。
  • -newkey rsa:2048: 指定我们希望同时生成一份新证书与新密钥。我们在上一步设定中无需创建密钥即可签署证书,因此这里需要将密钥与证书一同创建。其中rsa:2048部分指定生成RSA密钥,长度为2048位。
  • -keyout: 此行告知OpenSSL将生成的密钥文件保存在何处。
  • -out: 告知OpenSSL将我们创建的证书保存在何处。

以上各选项将同时创建密钥文件与证书。我们还需要回答几个与服务器相关的问题以在证书中添加正确的信息。

正确填写提示内容。最重要的一行就是Common Name(例如服务器FQDN或者域名)。大家需要填写服务器相关域名或者公共IP地址。

完整的提示内容如下:

Output

Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.
Organizational Unit Name (eg, section) []:Ministry of Water Slides
Common Name (e.g. server FQDN or YOUR name) []:server_IP_address
Email Address []:admin@your_domain.com

创建完成的两个文件都将保存在/etc/ssl目录中的对应子目录内。

在使用OpenSSL时,大家应当创建一个强Diffie-Hellman组,用于同客户端谈判时的完全正向保密。

具体实现方式如下:

  • sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

整个过程可能耗时几分钟,但完成后即可在/etc/ssl/certs/dhparam.pem处生成可用于配置的强DH组。

第二步:配置Apache以使用SSL

我们在/etc/ssl目录下创建了密钥与证书文件,现在修改Apache配置以使用这些文件。

我们需要在配置中进行以下调整:

  1. 创建一个配置片段以指定强默认SSL设置。
  2. 修改其中的SSL Apache Virtual Host文件以指向我们生成的SSL证书。
  3. (建议) 修改未加密Virtual Host文件以将请求自动指向至加密Virtual Host。

完成后,安全SSL配置即大功告成。

利用强加密设置创建Apache配置片段

首先创建一条Apache配置片段以定义部分SSL设置。首先在/etc/apache2/conf-available目录内创建一个新片段。我们将使用ssl-params.conf作为文件名:

  • sudo nano /etc/apache2/conf-available/ssl-params.conf

要安全设置Apache SSL,请参阅Remy van Elst在Cipherli.st站点上给出的相关建议。此站点专门为各主流软件提供易于使用的加密设置。大家可以参阅此文了解更多与Apache选项相关的内容。

在本示例中,我们可以直接复制以上站点提供的设置。不过,我们还需要将其中的SSLOpenSSLConfCmd DHParameters设置为指定我们刚刚生成的Diffie-Hellman文件:

/etc/apache2/conf-available/ssl-params.conf

# from https://cipherli.st/
# and https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
# Requires Apache >= 2.4
SSLCompression off 
SSLSessionTickets Off
SSLUseStapling on 
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"

SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

完成后保存并退出。

修改默认Apache SSL Virtual Host文件

接下来,修改/etc/apache2/sites-available/default-ssl.conf文件,即默认Apache SSL Virtual Host文件。如果大家使用其它服务器块文件,则注意替换以下命令中的对应部分:

在进行之前,首先备份初始SSL Virtual Host文件:

  • sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak

现在打开SSL Virtual Host文件并进行调整:

  • sudo nano /etc/apache2/sites-available/default-ssl.conf

取消其中的大部分注释,调整前的内容如下:

/etc/apache2/sites-available/default-ssl.conf

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
            ServerAdmin webmaster@localhost

            DocumentRoot /var/www/html

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

            SSLEngine on

            SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
            SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </Directory>

            # BrowserMatch "MSIE [2-6]" \
            #               nokeepalive ssl-unclean-shutdown \
            #               downgrade-1.0 force-response-1.0

    </VirtualHost>
</IfModule>

我们需要对VIrtual Host文件中的常规变更内容进行调整(ServerAdmin邮箱地址、ServerName等)、将SSL命令指向我们的证书与密钥文件,同时取消早期浏览器兼容性部分的注释。

变更完成后,文件内容如下:

/etc/apache2/sites-available/default-ssl.conf

<IfModule mod_ssl.c>
    <VirtualHost _default_:443>
            ServerAdmin your_email@example.comServerName server_domain_or_IP

            DocumentRoot /var/www/html

            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined

            SSLEngine on

            SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
            SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                            SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                            SSLOptions +StdEnvVars
            </Directory>

            BrowserMatch "MSIE [2-6]" \nokeepalive ssl-unclean-shutdown \downgrade-1.0 force-response-1.0

    </VirtualHost>
</IfModule>

完成后保存并退出。

(建议) 修改未加密VIrtual Host文件以重新定向至HTTPS

到这里,服务器将同时提供未加密HTTP与加密HTTPS流量。为了提升安全性,最好将HTTP流量自动定向至HTTPS。如果大家不需要这项功能,请直接跳过此节。

为了将未加密Virtual Host文件重新定向至SSL加密流量,我们打开/etc/apache2/sites-available/000-default.conf文件:

  • sudo nano /etc/apache2/sites-available/000-default.conf

在其中的VirtualHost配置部分,我们添加Redirect指令将全部流量指向该站点的SSL版本:

/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    . . .

    Redirect "/" "https://your_domain_or_IP"

    . . .
</VirtualHost>

完成后保存并退出。

第三步:调整防火墙

如果大家启用了ufw防火墙,则需要调整设置以允许SSL流量通过。幸运的是,Apache注册表已经预告安装了部分ufw配置。

通过以下命令查看可用配置:

  • sudo ufw app list

返回列表如下:

Output

Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH

查看当前设置:

  • sudo ufw status

如果之前只允许常规HTTP流量输入,则输出结果如下:

Output

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Apache                     ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Apache (v6)                ALLOW       Anywhere (v6)

要允许HTTPS流量接入,我们可以允许“Apache Full”配置而后删除多余的“Apache”配置:

  • sudo ufw allow ‘Apache Full’

  • sudo ufw delete allow ‘Apache’

调整后的状态如下:

  • sudo ufw status

    Output
    
    Status: active
    
    To                         Action      From
    --                         ------      ----
    OpenSSH                    ALLOW       Anywhere
    Apache Full                ALLOW       Anywhere
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    Apache Full (v6)           ALLOW       Anywhere (v6)
    

第四步:在Apache中应用变更

现在各项变更已经完成,接下来重启Apache即可将其付诸使用。

我们可以通过a2enmod命令启用Apache SSL模块mod_ssl,外加SSL片段设置所必需的mod_headers:

  • sudo a2enmod ssl

  • sudo a2enmod headers

接下来,利用a2ensite命令启用SSL Virtual Host:

  • sudo a2ensite default-ssl

现在,我们的站点及必要模块都已经启用。接下来进行检查以确保文件中不存在语法错误:

  • sudo apache2ctl configtest

如果一切顺利,则返回结果如下:

Output

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

第一行信息提示我们ServerName指令未被设定为全局。如果大家希望忽略该信息,则可在/etc/apache2/apache2.conf中将ServerName设定为服务器域名或者IP地址。当然,放着不管也没问题。

在输出结果为Syntax OK后,我们就能够重启Apache以应用变更了:

  • sudo systemctl restart apache2

第五步:测试加密

下面打开浏览器并输入服务器域名或者IP:

https://server_domain_or_IP

由于我们创建的证书并非由浏览器信任的证书中心颁发,因此其中可能显示警告:

大家不用紧张。我们关心的是证书是否进行了正确加密。点击“ADVANCED”而后点击链接继续访问主机:

站点应该可以成功访问了。可以看到,浏览器地址栏中有一个“X”标记,这意味着该证书无法验证。不过可以确定的是,我们的连接仍然得到了加密。

如果在配置中将HTTP定向至HTTPS,则可检查其重新定向功能是否正确:

http://server_domain_or_IP

如果浏览结果相同,则功能正确无误。

第六步:更改为永久重新定向

若重新定向机制正常起效,那么大家可以对未加密Apache Virtual Host进行永久重新定向。

再次打开服务器配置文件:

  • sudo nano /etc/apache2/sites-available/000-default.conf

找到其中的Redirect行,添加permanent,其会将302临时重新定向变更为301永久重新定向:

/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>
    . . .

    Redirect permanent "/" "https://your_domain_or_IP"

    . . .
</VirtualHost>

保存并退出。

检查配置文件中是否存在语法错误:

  • sudo apache2ctl configtest

完成后,重启Apache以应用变更:

  • sudo systemctl restart apache2

总结

大家已经对Apache服务器进行了配置,要求其使用强加密处理客户端连接。如此一来,我们能够更为安全地处理请求,从而避免外部人士读取我们的流量。

本文来源自DigitalOcean Community。英文原文:How To Create a Self-Signed SSL Certificate for Apache in Ubuntu 16.04 By Justin Ellingwood

翻译:diradw

Ubuntu18.04 使用 openssl制作自签名证书 执行“openssl verison”,判断系统是否已安装openssl,若没有安装,请使用apt安装openssl。 一、图解自签名过程 二、关于 CRT PEM KEY CST等后缀的说明 以下引用出处:那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等) SSL SSL - Secure Sockets Layer,现在应该叫"TLS",但由于习惯问题,我们还是叫"SSL"比较多.http协议默认情况下是不加密内容的,这样就很可能在内容传播的时候被别 阅读详情

相关推荐

Ubuntu 20.04 Apache自签名SSL证书生成与深度配置指南

SSL证书是HTTPS通信的信任基石,其本质是一份由私钥签名、包含公钥与身份声明的X.509数字凭证;生成过程涉及密钥对创建、CSR构造、自签名或CA签发等核心步骤,技术价值在于实现端到端加密、服务端身份认证及防篡改保障;典型应用于开发测试环境、内网API网关、CI/CD流水线HTTPS验证等无需公网信任的场景;本文聚焦Ubuntu 20.04平台,基于OpenSSL 1.1.1f和Apache 2.4.41,详解自签名证书的手动构建全流程,覆盖私钥权限控制、Subject Alternative Name

weixin_34401479的博客 434

openssl使用手册

OpenSSL有两种运行模式:交互模式和批处理模式。 直接输入openssl回车进入交互模式,输入带命令选项的openssl进入批处理模式。 (1) 配置文件 OpenSSL的默认配置文件位置不是很固定,可以用openssl ca命令得知。 你也可以指定自己的配置文件。 当前只有三个OpenSSL命令会使用这个配置文件:ca, req, x509。有望未来版本会有更多命令使用配置...

conkeyn的专栏 2025

Ubuntu 22.04下Apache自签名证书实战:OpenSSL 3.0适配与SAN配置

HTTPS证书是Web服务安全通信的基础概念,其核心原理在于公钥基础设施(PKI)构建的信任链验证机制。技术价值体现在本地开发调试、混合内容测试、CI/CD离线集成等关键工程场景中。现代浏览器(Chrome 99+、Firefox 100+)已强制要求证书必须包含Subject Alternative Name(SAN)字段,并弃用仅依赖CN的旧式匹配逻辑;同时,Ubuntu 22.04默认搭载的OpenSSL 3.0.2进一步收紧了算法策略——SHA-1签名被禁用、PKCS#8私钥成标准、SAN需显式注入

cneo2012的博客 365

Apache2 Ubuntu服务器配置SSL证书的方法

在CA机构选中一款SSL证书,在Apache2 Ubuntu服务器上生成证书签名请求后,申请SSL证书。向证书颁发机构(CA)提供所需的信息,等待审核,验证通过之后就会颁发SSL证书,然后按照下面列出的简单方法进行配置安装。 1、CA机构通过电子邮件以zip文件的形式发送许可证。该zip文件中将包含主证书、中间证书和根证书文件。在要保留所有证书文件的服务器上下载并解压该zip文件; 2、在以下位置的Apache2 Ubuntu服务器上找到Apache配置文件: /etc/apache2/sites-e

SSL加密技术 559

Ubuntu 16.04 Apache手动部署Let‘s Encrypt免费证书实战

HTTPS加密是现代Web服务的基础安全要求,其核心在于SSL/TLS协议实现与数字证书的正确配置。Let's Encrypt作为广受信任的免费证书颁发机构,依托ACME协议实现自动化签发,显著降低HTTPS落地门槛。然而在老旧生产环境(如Ubuntu 16.04 + Apache 2.4.18)中,受限于系统版本、certbot插件兼容性及Apache模块加载机制,‘一键配置’往往失效——此时需回归本质:理解证书文件结构(fullchain.pem与privkey.pem)、Apache SSL模块启用逻

weixin_33725807的博客 373

Ubuntu 14.04 + Apache + Let‘s Encrypt SSL 实战指南

SSL/TLS 是保障 Web 通信加密的基础安全机制,其核心原理依赖公钥基础设施(PKI)、数字证书链验证与 TLS 协议握手。在老旧系统中实现合规 HTTPS,技术价值在于以最小侵入方式弥合安全基线与运维现实的鸿沟。典型应用场景包括内网管理后台、工业设备看板、遗留系统代理等无法升级的操作环境。本文聚焦 Ubuntu 14.04 这一已终止支持的长期服役系统,结合 Apache 2.4.7 与 Let’s Encrypt 免费证书体系,详解如何绕过 certbot 兼容性陷阱,通过 acme-tiny 与

weixin_33922670的博客 408

ubuntu apache2 安装和配置安装ssl证书

ubuntu apache2 安装和配置安装ssl证书

wuyou_0789的专栏 3968

[LVGL] 刷新率优化

实验硬件:STM32F407ZGT6;2.4寸TFT-LCD模块(ILI9341驱动芯片、XTP2046触摸芯片)本文目标:lvgl的刷新率优化,解决拉帘子问题注意:本文在LVGL显示触摸代码移植完成的基础上进行,第一次使用lvgl可根据前文一步步移植,点击下方传送门查看相关文章传送门:STM32F4驱动ILI9341的TFT-LCD触摸屏(HAL库)(一)STM32F4驱动ILI9341的TFT-LCD触摸屏(HAL库)(二)[LVGL] 显示代码移植 基于STM32F4。

2301_77117901的博客 2784

在Ubuntu 16.04上为Apache创建自签名SSL证书的方法

TLS,即传输层安全性,及其前身SSL,即安全套接字层,是用于将普通流量包装在受保护的加密包中的网络协议。使用这项技术,服务器可以在服务器和客户端之间安全地发送流量,而不会被外部方拦截。证书系统还帮助用户验证他们正在连接的站点的身份。在本指南中,您将学习如何为 Ubuntu 16.04 服务器上的 Apache Web 服务器设置自签名 SSL 证书。

rubys007的博客 1261

COMSOL中的动网格

首先我们先了解几个概念 (1)网格重划分(remesh):就是在某些特定的区域进行网格的重新划分,在Maxwell软件中的直线运动区域,当运动物体运动后,这个区域进行重新划分。 (2)morph:网格不重新划分,小范围的进行网格变形,针对运动物体运动位移较小,对变形区域不进行重划分,能够提高效率。 (3)网格滑移(sliding):针对圆形运动区域,运动与非运动区域进行网格滑移,当然边界上两侧网格不共节点,该方法不需要网格重新划分,大部分软件针对圆形运动区域采用该方法,比如maxwell的band,b

midiio的博客 7875

不止于HTTPS请求:用VS2022编译的libcurl玩转文件上传和代理设置

本文详细介绍了如何使用VS2022编译的libcurl库实现文件上传和高级代理配置。通过实战代码示例,展示了多部分表单上传、二进制数据上传以及各种代理设置技巧,帮助C++开发者提升网络编程能力。

weixin_28595749的博客 206

如何在 Ubuntu 16.04 上使用 Let‘s Encrypt 为 Apache 添加安全证书

本教程将向您展示如何在运行 Apache 作为 Web 服务器的 Ubuntu 16.04 服务器上设置来自 Let’s Encrypt 的 TLS/SSL 证书。SSL 证书在 Web 服务器内部使用,用于加密服务器和客户端之间的流量,为访问您的应用程序的用户提供额外的安全性。Let’s Encrypt 提供了一种轻松获取和安装免费受信任证书的方式。

rubys007的博客 1224

群晖NAS实战:Python项目部署全流程解析

本文详细解析了在群晖NAS上部署Python项目的完整流程。从开启SSH、选择连接工具,到通过套件中心一键安装Python3、配置pip及国内镜像源,再到上传项目、安装依赖、后台运行及排错,提供了清晰的避坑指南。旨在帮助用户将群晖NAS从存储设备转变为可执行自定义任务的智能服务器,实现自动化脚本、数据监控等应用。

weixin_29057163的博客 593

Ubuntu 20.04 Apache自签名SSL证书生成实战

SSL证书是HTTPS通信的基石,其核心在于公钥加密、数字签名与X.509标准格式;自签名证书虽不具公网信任链,但能完整满足TLS协议握手、密钥交换与加密通道建立的技术要求。它绕过CA依赖,直击开发测试场景中‘协议可用性’这一底层需求——解决浏览器对localhost的API拦截、fetch凭据丢弃、地理位置禁用等强制限制。技术价值体现在快速启用HTTPS、支持HTTP/2、兼容现代前端调试环境;典型应用场景包括本地Vue/React开发代理、内网管理系统、CI/CD看板及Docker容器化服务。本文聚焦U

weixin_30340819的博客 366

实战指南:UOS专业版命令行高效下载离线安装包及依赖

本文提供了一份UOS专业版离线安装包的实战下载指南。针对无外网环境下的软件部署难题,详细介绍了如何通过命令行精准获取软件包名,并利用`apt download`命令高效下载主程序及其所有依赖。文章重点解析了使用`apt install --dry-run`模拟安装来完整获取依赖包的方法,并给出了离线安装、问题排查及自动化脚本编写等高级技巧,帮助管理员和运维人员实现可靠的批量离线部署。

honey的博客 1111

【硬刚Hadoop】HADOOP MAPREDUCE(1):概述

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Hadoop部分补充。 1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2MapReduce优缺点 2.1 优点 1)MapReduce易于编程 它简单的实现一些接口,就可以完成一个分布式程序..

微信搜:import_bigdata,大数据领域硬核原创作者 465

Ubuntu 20.04 Apache自签名SSL证书完整实践指南

SSL证书是TLS加密通信的基础载体,其核心原理在于公钥基础设施(PKI)下的数字签名与信任链验证。技术价值体现在保障传输机密性、完整性及服务端身份真实性,广泛应用于开发测试、内网系统、IoT设备等无需公共信任的场景。在Ubuntu 20.04中,OpenSSL 1.1.1f作为系统级密码学引擎,深度耦合Apache的mod_ssl模块,决定了密钥生成、CSR构造、X.509证书签发及运行时加载的全链路兼容性。跳过底层机制直接套用命令,极易触发openssl library not found或NET::E

weixin_30907935的博客 395

CycloneDDS(C++版本)开源代码在Linux(X86平台)系统上编译生成可执行文件的详细步骤

cyclonedds里面已经有现成的实例供我们参考,在根目录下的example目录下面,我们打开此目录,此目录下有CMakeLists.txt文件以及一些其他的文档,我们需要在此目录(example目录)下编译构建出。我们可以看到cyclonedds-cxx-master包下的example目录下有很多文件,包括CMakeLists.txt等,其中我们要构建的可执行文件所需要的源文件等就在。此过程会稍微慢一点。之后会报错,如下:(图片中是c版本出现的问题截图,不影响,c++也是这个影响,问题是一样的)

qq_42595610的博客 1252

Ubuntu 20.04 Apache自签名SSL证书生成实战指南

SSL证书是HTTPS通信的基础安全凭证,其核心原理在于基于X.509标准的公钥基础设施(PKI)与TLS握手协议协同完成身份认证和信道加密。现代浏览器(Chrome/Firefox)强制要求证书包含Subject Alternative Name(SAN)扩展,并拒绝无SAN或仅依赖CN字段的证书,这是RFC 5280与浏览器安全策略演进的技术价值体现。在开发、测试及内网部署场景中,自签名证书因其零成本、快速生成、环境隔离等优势,成为Let’s Encrypt等CA方案的重要补充。本文聚焦Ubuntu 2

weixin_29876033的博客 228

74.9008深度刷机原理|高通QPST/Firehose底层刷写协议详解

移动设备刷机与底层维修技术指南 本文为移动设备维修人员和高级玩家提供全面的刷机与底层维修技术指南,涵盖高通、联发科和苹果A系列芯片的主要操作。 主要内容 核心操作:Bootloader解锁、Fastboot刷写、EDL深度修复、iTunes DFU模式恢复和分区表重建 适用场景:系统故障修复、底层损坏恢复、安全限制解除、系统降级和深度硬件维修 关键技术:详细解析刷机协议栈层级、关键分区作用和刷机安全机制 操作步骤: 环境搭建与驱动安装 Bootloader解锁(以小米为例) 高通机型系统刷写 苹果设备DFU

2601_95651806的博客 205

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Ubuntu系统Apache 2部署SSL证书

几天前用Apache 2部署了一个静态网页,但通过域名访问时Google提示“不安全”,经了解,原来是缺少证书。 什么是SSL证书? SSL 是指安全套接字层,简而言之,它是一项标准技术,可确保互联网连接安全,保护两个系统之间发送的任何敏感数据,防止网络犯罪分子读取和修改任何传输信息,包括个人资料。两个系统可能是指服务器和客户端(例如,浏览器和购物网站),或两个服务器之间(例如,含个...

dianshu1593的博客 447

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

如何在Ubuntu 16.04上使用Let‘s Encrypt保护Apache2

视频教程 & 更多资源:https://zhaoshuquan.com/posts/6 介绍 本教程将向您展示如何在运行Apache作为Web服务器的Ubuntu 16.04服务器上设置Let’s Encrypt的TLS / SSL证书。 Web服务器中使用SSL证书来加密服务器和客户端之间的流量,为访问应用程序的用户提供额外的安全性。 让我们的加密提供了一种免费获取和安装可信证书的简便方...

Jerry学长 3255

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

在Ubuntu 16.04上安装和配置ownCloud的方法

ownCloud 是一个文件共享服务器,允许您将个人内容(如文档和图片)存储在一个类似 Dropbox 的集中位置。ownCloud 的不同之处在于它是免费且开源的,这使任何人都可以使用和检查它。它还将您敏感数据的控制和安全性归还给您,从而消除了使用第三方云托管服务的需求。在本教程中,我们将在 Ubuntu 16.04 服务器上安装和配置 ownCloud 实例。

rubys007的博客 1726

Ubuntu 16.04下Nginx/Apache反向代理Tomcat实现SSL加密

SSL/TLS是保障Web通信机密性与完整性的基础安全机制,其核心原理是通过非对称加密完成密钥交换、对称加密传输数据,并依赖可信证书链验证服务端身份。在Java Web部署中,将SSL卸载至Nginx或Apache等专业反向代理层,而非由Tomcat原生处理,可显著提升TLS握手性能、降低JVM资源开销,并支持热重载证书、HTTP/2、OCSP Stapling等关键能力。该方案特别适用于Ubuntu 16.04等长期维护型系统,兼顾兼容性与安全性,广泛应用于教育平台、企业内网管理系统及对外API网关等生产

weixin_33883104的博客 337

ubuntu16下为apache部署ssl证书

ubuntu下为apache部署ssl证书 一、下载apache2 apt-get update apt-get install apache* 二、上传证书文件 在/etc/apache2/下创建sslcert文件夹 mkdir /etc/apache2/sslcert 创建完成之后将root_bundle.crt,xxx_com.crt,xxx_com.key文件上传至sslcert文件中 注:在不同网站购买的证书所颁发的证书格式和后缀有差异,这里只介绍下发这种证书来进行部署,其他类型后续会介绍。

qq_41953204的博客 200

ubuntu16.04服务器apache的ssl证书配置

背景:在腾讯云申请的免费证书1年,服务器ubuntu 16.04版本,我的是多域名1、ssl模块的安装sudo a2enmod ssl //开启apache ssl模块a2ensite default-ssl //开启default ssl virtual hostsudo service apa...

djl的专栏,blog.djlcx.cn好记 1万+
上一篇: 如何在Ubuntu 16.04上安装并配置Redis
下一篇: 如何利用MySQL设置远程数据库以优化站点性能
普通网友
博客等级 码龄10年 769粉丝 269原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值