上一篇
https如何配置到服务器上
- 行业动态
- 2025-05-01
- 2947
配置HTTPS需获取SSL证书(如Let’s Encrypt),安装到服务器,修改Web服务监听443端口,配置HTTP自动跳转至HTTPS,并开放防火墙4
HTTPS配置到服务器的步骤详解
获取SSL/TLS证书
选择证书类型
- 免费证书:Let’s Encrypt(推荐个人/测试用途)。
- 付费证书:通过CA机构(如DigiCert、GlobalSign)购买,支持企业级信任。
申请证书流程(以Let’s Encrypt为例)
- 使用
Certbot
工具自动化申请:certbot certonly --standalone -d example.com
- 手动申请:生成CSR(Certificate Signing Request)并提交到CA。
- 使用
生成密钥与CSR
- 生成私钥(开放SSL工具):
openssl genrsa -out server.key 2048
- 生成CSR(需提供域名和组织信息):
openssl req -new -key server.key -out server.csr
安装证书到服务器
根据服务器类型配置:
服务器类型 | 配置文件路径 | 关键配置片段 |
---|---|---|
Nginx | /etc/nginx/sites-available/default | ssl_certificate /path/to/server.crt;<br>ssl_certificate_key /path/to/server.key; |
Apache | /etc/apache2/sites-available/000-default.conf | SSLEngine on<br>SSLCertificateFile /path/to/server.crt<br>SSLCertificateKeyFile /path/to/server.key |
IIS | IIS管理器 → 站点绑定 | 在“绑定”中启用HTTPS,选择证书文件 |
配置强制HTTPS重定向
- Nginx示例:
server { listen 80; return 301 https://$host$request_uri; }
- Apache示例:
<VirtualHost :80> Redirect permanent / https://example.com/ </VirtualHost>
测试HTTPS配置
- 浏览器检查:访问
https://your-domain
,查看是否显示绿色锁。 - SSL Labs测试:上传到 SSL Labs 检测评分。
- 命令行验证:
curl -v https://your-domain
自动续期(仅Let’s Encrypt)
- 配置Certbot自动续期:
certbot renew --dry-run
- 添加定时任务(如Ubuntu的
/etc/cron.d/certbot
):0 0 /usr/bin/certbot renew --quiet
- 添加定时任务(如Ubuntu的
常见问题与解答
问题1:浏览器提示“证书无效”怎么办?
- 原因:证书未绑定域名、私钥不匹配或中间证书缺失。
- 解决:
- 检查域名是否解析到服务器IP。
- 确认证书链完整(包含中间证书)。
- 重新生成CSR并申请新证书。
问题2:HTTPS访问出现“500错误”如何解决?
- 原因:服务器未正确配置SSL模块或端口冲突。
- 解决:
- 检查Nginx/Apache是否启用SSL模块(如
nginx -t
或apachectl configtest
)。 - 确保443端口未
- 检查Nginx/Apache是否启用SSL模块(如