树莓派/Debian Apache2 安装腾讯云 SSL 证书
前言
前文 树莓派/Debian Apache2 实现 HTTPS(SSL) 服务 提到,Apache2 实现 HTTPS(SSL) 服务有两种方法以及之间的区别,这里讲述如何通过 腾讯云 申请免费 SSL 证书实现 HTTPS(SSL) 服务。
注:本来打算使用阿里云的 SSL 证书服务,但是实在太慢了,改用腾讯云。
准备
-
已有域名且实名
-
腾讯云账号
-
LAMP 服务器环境
其他环境(Nginx等)的 SSL 证书同时下发,可以自己搜索配置方法。
申请免费 SSL 证书
-
在 “腾讯云 -> SSL 证书 -> 申请免费证书”
-
“确认证书类型 -> TRUSTASIA 免费版 DVSSL 证书”
-
填写免费证书申请表单
-
域名身份验证
由于我是阿里云的服务器,我选择“手动DNS验证”,腾讯云的应该可以选择“自动DNS验证”。
-
“温馨提示 -> 查看证书详情”
-
将证书信息填写到域名解析:“添加记录”
-
回到腾讯云证书详情页,点击 “自动诊断” 然后 “验证”
-
然后回邮件通知审核通过
下载免费 SSL 证书
配置 Apache
编辑 SSL 配置文件 default-ssl.conf
-
编辑 SSL 配置文件 default-ssl.conf
复制
sudo vim /etc/apache2/sites-enabled/default-ssl.conf
如果忽略注释会显示:
复制
<IfModule mod_ssl.c> <VirtualHost _default_:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html 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> </VirtualHost> </IfModule>
-
添加
ServerName <域名>
,例:复制
ServerAdmin webmaster@localhost ServerName www.example.com # 你的域名 DocumentRoot /var/www/html
修改加载 SSL 证书位置到你解压的证书文件夹 ,例:
复制
SSLCertificateFile /etc/apache2/ownSSL/Apache/2_www.xxxxx.xxx.crt SSLCertificateKeyFile /etc/apache2/ownSSL/Apache/3_www.xxxxx.xxx.key
并添加
复制
SSLCertificateChainFile /etc/apache2/ownSSL/Apache/1_root_bundle.crt
-
:wq
保存退出
加载 SSL 配置文件 default-ssl.conf
-
以 root 权限启用SSL模块:
复制
sudo a2enmod ssl
如果执行成功显示:
复制
Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Enabling module socache_shmcb. Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: systemctl restart apache2
-
它最后提醒你执行一条重启命令:
复制
sudo /etc/init.d/apache2 restart
这里要以 root 权限执行这条命令,否则报错。
注意:这里重启了 Apache2。
-
以 root 权限执行命令:
复制
Copysudo a2ensite default-ssl
正确返回结果:
复制
Copyyogile@debyogile:/etc/apache2# sudo a2ensite default-ssl a2ensite default-sslEnabling site default-ssl. To activate the new configuration, you need to run: systemctl reload apache2
它提醒执行
systemctl reload apache2
,先不管它,进行下一步 启动 Apache2 服务 。 -
这时 启动 Apache2 服务 :
复制
sudo /etc/init.d/apache2 start
启动成功显示:
复制
[ ok ] Starting apache2 (via systemctl): apache2.service.
-
启动 Apache2 服务成功后,加载 SSL 配置文件 default-ssl.conf
复制
sudo systemctl reload apache2
成功无显示。
重启 Apache2 服务
-
输入命令重启 Apache2 服务
复制
Copysudo /etc/init.d/apache2 restart
成功会显示:
复制
Copy[ ok ] Restarting apache2 (via systemctl): apache2.service.
-
配置成功。
网页登录测试
在浏览器中输入 https://<域名>
即可验证
HTTP 强制重定向 HTTPS
-
启动重定向
复制
sudo a2enmod rewrite
重启 Apache 服务
复制
sudo systemctl restart apache2
-
在
/etc/apache2/sites-enabled/000-default.conf
文件的<VirtualHost *:80></VirtualHost>
中写入以下内容复制
RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R=301]
重启 Apache 服务
复制
sudo systemctl restart apache2
作者:Yogile
出处:https://www.cnblogs.com/Yogile/p/12483991.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人