nginx 使用 SSL证书配置 HTTPS
nginx 使用 SSL证书配置 HTTPS
生成 D-H 密钥文件
这一步有可能会消耗很长时间,直到出现第二个 * 才会结束:
sudo openssl dhparam 2048 -out /etc/nginx/dhparam.pem添加 nginx 配置
SSL 通用配置
检查 nginx 版本:
nginx -vnginx version: nginx/1.16.1
检查 OpenSSL 版本:
openssl versionOpenSSL 1.0.2k-fips 26 Jan 2017
创建 SSL 通用配置文件:
sudo vim /etc/nginx/conf/ssl.intermediate.conf可选择插入适合现代浏览器的配置:
或者兼容性更好(会降低安全性)的配置:
保存退出。
主机独立配置
在 /etc/nginx/conf.d/ 目录下创建具体主机配置文件:
插入配置:
Tips:
ssl_certificate填写证书的 “.cer / .crt / .der / .pem” 文件路径。
ssl_certificate_key填写证书私钥的 “.key / .pem” 文件路径。
ssl_trusted_certificate填写 CA 证书路径,如果没有则去掉 “OCSP stapling” 相关配置项。
强制重启 nginx:
FirewallD 配置
查看 FirewallD 当前默认区域永久配置:
public target: default icmp-block-inversion: no interfaces: sources: services: http ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
可见 services 中没有启用 https 服务,ports 中没有添加 443/tcp 端口。
永久启用 https 服务(443/tcp):
查看下次重启(防火墙重新加载、服务器重启或者系统重启)之后永久生效的服务:
http https ssh
重载防火墙规则:
TIps:
阿里云 ECS 需要在控制台的安全组策略中添加入方向的 https
443/tcp端口。阿里云轻量应用服务器需要在控制台的防火墙中添加 https
443/tcp端口。
SSL 安全检测
检测地址:https://www.ssllabs.com/ssltest/
输入域名,正常情况下检测结果应为 A+ 。
参考文献
Last updated
Was this helpful?