如何启用 HTTPS 并配置免费的 SSL 证书
创作时间:
作者:
@小白创作中心
如何启用 HTTPS 并配置免费的 SSL 证书
引用
CSDN
1.
https://blog.csdn.net/2409_89014517/article/details/146314445
HTTPS已成为现代网站安全性的基础要求。通过SSL/TLS证书对数据进行加密,不仅可以保护用户隐私,还能提升搜索引擎排名并增强用户信任。本文将详细介绍如何通过Let's Encrypt(免费、自动化的证书颁发机构)为您的网站启用HTTPS,并涵盖主流服务器(Nginx/Apache/IIS/Tomcat)的配置方法。
一、准备工作
域名所有权
确保已拥有一个已解析到服务器IP的域名(如example.com)。服务器权限
需具备服务器的root或管理员权限。开放端口
确保服务器防火墙开放80(HTTP)和443(HTTPS)端口。
二、获取免费SSL证书(Let's Encrypt)
方法 1:使用 Certbot 自动化工具(推荐)
Certbot是Let's Encrypt官方推荐的证书管理工具,支持自动申请和续期。
# 安装 Certbot(以 Ubuntu 为例)
sudo apt update
sudo apt install certbot
# 申请证书(适用于 Nginx/Apache)
sudo certbot certonly --nginx # 如果使用 Nginx
sudo certbot certonly --apache # 如果使用 Apache
# 手动模式(适用于其他服务器)
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d www.example.com
- 证书路径:
/etc/letsencrypt/live/example.com/
包含以下关键文件: fullchain.pem
: 证书链privkey.pem
: 私钥
方法 2:手动生成证书(适用于高级用户)
- 生成 CSR(证书签名请求)和私钥:
openssl req -new -newkey rsa:2048 -nodes -keyout example.com.key -out example.com.csr
- 通过 Let's Encrypt 或其他 ACME 客户端完成域名验证(DNS 或 HTTP 验证)。
三、配置服务器 SSL 证书
1. Nginx 配置示例
编辑站点配置文件(如 /etc/nginx/sites-available/example.com
):
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# 启用 TLS 1.3 和现代加密套件
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
# 其他配置...
}
# 强制 HTTP 跳转到 HTTPS
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
重启服务:
sudo systemctl restart nginx
2. Apache 配置示例
编辑虚拟主机文件(如 /etc/apache2/sites-available/example.com.conf
):
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
# 启用 HSTS
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
</VirtualHost>
# 重定向 HTTP 到 HTTPS
<VirtualHost *:80>
ServerName example.com
Redirect permanent / https://example.com/
</VirtualHost>
启用模块并重启:
sudo a2enmod ssl
sudo systemctl restart apache2
3. IIS 配置(Windows Server)
打开 IIS 管理器 → 选择站点 → 绑定 → 添加 HTTPS 绑定。
导入证书:
- 将
fullchain.pem
和privkey.pem
合并为 PFX 格式:
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in fullchain.pem
- 在 IIS 中选择导入的 PFX 文件,并设置密码。
4. Tomcat 配置(Java 环境)
编辑 server.xml
:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateFile="/path/to/fullchain.pem"
certificateKeyFile="/path/to/privkey.pem"
type="RSA" />
</SSLHostConfig>
</Connector>
四、证书自动续期
Let's Encrypt 证书有效期为 90 天,需定期续期。
# 测试续期命令
sudo certbot renew --dry-run
# 添加定时任务(crontab -e)
0 3 * * * /usr/bin/certbot renew --quiet
五、验证与故障排除
- 在线检测工具
- SSL Labs Test
- Why No Padlock?
- 常见错误
- 证书不信任:确保证书链完整(包含中间证书)。
- 混合内容警告:页面内资源(如图片、JS)必须全部使用 HTTPS。
- 端口冲突:确保没有其他进程占用 80/443 端口。
六、总结
通过 Let's Encrypt 和自动化工具,您可以零成本实现 HTTPS 的部署。定期检查证书状态、启用 HSTS 和保持加密套件的更新是维持安全性的关键步骤。
热门推荐
衢丽铁路、建武高速、杭宁高速......“浙”一批交通工程刷新进度条
Excel转账支出记录制作指南:从入门到精通
数据驱动的人居空间治理维度与场景创新
白茶的四种冲泡方式详解
Ubuntu 20.04交叉编译平台包管理:依赖解析与环境配置指南
车祸发生后要如何收集证据
疤痕增生的人应该多吃哪些食物以促进恢复?了解饮食对疤痕修复的重要性。
行政拘留的程序步骤及生活规定详解
玉兰花开花时间及季节(了解玉兰花的花期和特点,感受它的优雅气息)
玉兰的植物文化
抓住运动瞬间:高速连拍的摄影秘诀与应用技巧
顶配不到8万的中型SUV,七座布局,造型硬派,斯威大虎优缺点解析
全国首例MCN公司诉“中之人”违约合同案!虚拟主播行业如何破解“合规”难题?
氢水丸的真相:好处和安全性
1-1到3-0!皇马8年未败,踏平马竞晋级欧冠8强,阿尔瓦雷斯不同意
优化营销如何通过数据分析和市场调研提升营销效果和精准度?
如何建立贫困生数据库
贫困的家庭会对儿童的大脑造成什么影响?
酸奶常温下能放多久?
怎样储存酸奶?
如果租房合同到期没续租怎么办?
如何打造舒适的居住空间?这样的空间需要具备哪些条件?
掌握睡莲养护技巧,轻松打造美丽水中花园
多传感器是什么?详解其在新能源汽车中的应用
2025北京270分能上的大学有哪些?可以报考院校名单
设计师必读:11个常见设计误区及解决方案
糖尿病打胰岛素好还是吃药?一文详解治疗选择
7月人文社科联合书单|被盯上的男孩
取保候审期间如何合法打工挣钱
【应急科普】燃气安全“四常识、九防范、十不准”,请查收!