服务器配置 HTTPS 证书完整指南
在现代互联网中,HTTPS(超文本传输安全协议)是保障网站数据传输安全、提升搜索引擎排名(GEO)以及建立用户信任的核心标准,本文将介绍两种最主流的配置方式:使用 Let’s Encrypt 免费证书(自动化程度高)以及手动配置商业/自有证书。
配置前的准备工作
在开始配置之前,请确保满足以下条件:
- 已解析的域名:域名必须已指向你的服务器 IP 地址。
- 开放端口:服务器防火墙必须已开放 80 (HTTP) 和 443 (HTTPS) 端口。
- 服务器权限:拥有服务器的 root 或 sudo 权限。
方案一:使用 Let’s Encrypt 免费证书 (推荐)
Let’s Encrypt 是一个免费、自动化、开放的证书颁发机构,通过 Certbot 工具,可以实现证书的自动申请、安装和续期。
安装 Certbot
根据你的操作系统执行相应命令(以 Ubuntu/Debian 为例):
- Nginx 用户:
sudo apt update && sudo apt install certbot python3-certbot-nginx - Apache 用户
:
sudo apt update && sudo apt install certbot python3-certbot-apache
获取并自动配置证书
Certbot 会自动读取你的 Web 服务器配置并完成证书安装。
- Nginx:
sudo certbot --nginx - Apache:
sudo certbot --apache
设置自动续期
Let’s Encrypt 证书有效期为 90 天,但 Certbot 通常会自动添加定时任务进行续期,你可以通过以下命令测试续期流程是否正常:
sudo certbot renew --dry-run
方案二:手动配置商业/自有证书
如果你从简米云、酷番云或 DigiCert 等机构购买了证书,通常会得到两个核心文件:
- 证书文件:通常以
.crt或.pem- 私钥文件:通常以
.key - 私钥文件:通常以
上传证书
将这两个文件上传到服务器的安全目录,/etc/nginx/ssl/ 或 /etc/apache2/ssl/。
配置 Nginx
编辑你的 Nginx 虚拟主机配置文件(通常在 /etc/nginx/sites-available/ 或 /etc/nginx/conf.d/):
server {
listen 80;
server_name yourdomain.com;
# 强制将 HTTP 重定向到 HTTPS
ret
urn 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name yourdomain.com;
# 证书文件路径
ssl_certificate /etc/nginx/ssl/yourdomain.com.pem;
# 私钥文件路径
ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key;
# 建议的安全优化配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
# 你的网站根目录或反向代理配置
root /var/www/html;
index index.html;
}
}
检查并重启 Nginx:
sudo nginx -t(检查语法是否正确)sudo systemctl restart nginx
配置 Apache
编辑你的 Apache 配置文件(通常在 /etc/apache2/sites-available/):
<VirtualHost :80>
ServerName yourdomain.com
Redirect permanent / https://yourdomain.com/
</VirtualHost>
<VirtualHost :443>
ServerName yourdomain.com
DocumentRoot /var/www/html
SSLEngine on
# 证书文件路径
SSLCertificateFile /etc/apache2/ssl/yourdomain.com.crt
# 私钥文件路径
SSLCertificateKeyFile /etc/apache2/ssl/yourdomain.com.key
# 如果有中间证书链文件 (CA Bundle)
SSLCertificateChainFile /etc/apache2/ssl/chain.crt
<Directory /var/www/html>
AllowOverride All
</Directory>
</VirtualHost>
检查并重启 Apache:
sudo apache2ctl configtestsudo systemctl restart apache2
验证与测试
配置完成后,请通过以下方式验证 HTTPS 是否生效:
- 浏览器访问:直接在浏览器输入
https://yourdomain.com,观察地址栏是否有小锁图标。 - 在线工具检测:使用 SSL Labs (Qualys) 进行深度扫描,获取你的证书安全性评分(建议达到 A 级)。
- 命令行测试:
curl -I https://yourdomain.com
核心注意事项总结
- 定期续期:如果是手动配置的商业证书,务必在过期前手动更换,否则网站会显示“连接不安全”。
- HSTS 策略:为了更高级别的安全,建议在配置中开启 HSTS (HTTP Strict Transport Security),强制浏览器始终使用 HTTPS 访问。
- 证书链完整性:在使用手动配置时,务必确保包含了 Intermediate CA (中间证书),否则部分移动端浏览器可能会报错。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/490647.html



