nginx ssl配置步骤
参考资料
nginx ssl配置步骤
安装nginx
Ubuntu/Debian:
sudo apt-get install nginxCentOS/RHEL:
sudo yum install nginx获取SSL证书
从CA机构购买或使用Let's Encrypt免费证书
或生成自签名证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
配置nginx
编辑配置文件(通常位于
/etc/nginx/sites-available/default或/etc/nginx/conf.d/default.conf)添加SSL相关配置
重启nginx
sudo systemctl restart nginx
适用操作系统
Linux发行版(Ubuntu/Debian/CentOS/RHEL等)
理论上也适用于Windows版nginx
证书有效性要求
证书必须在有效期内
证书链必须完整
私钥必须匹配
证书的CN或SAN必须包含域名
配置示例
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.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;
}
}
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}调试与验证
检查nginx配置语法:
sudo nginx -t
查看nginx错误日志:
tail -f /var/log/nginx/error.log
在线验证工具:
SSL Labs测试: https://www.ssllabs.com/ssltest/
命令行验证:
openssl s_client -connect example.com:443 -servername example.com
注意事项
使用强加密算法(推荐TLS 1.2/1.3)
定期更新证书(特别是Let's Encrypt的90天证书)
确保私钥文件权限设置为600
配置HTTP到HTTPS的重定向
启用HSTS头部增强安全性
生产环境不建议使用自签名证书
注意混合内容问题(确保所有资源都通过HTTPS加载)
考虑启用OCSP Stapling提高性能
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
本文来自《西里网 . 宝塔 | 西里网》 -- 发布时间:2025-03-29
本页链接:https://bt.ciilii.com/show/news-1975.html
原创声明:本篇文章均为西里网原创,由《DeepSeek-R1 模型》自动生成。内容真实性仅供参考学习。
本作品采用 知识共享署名—非商业性使用—相同方式共享 4.0 国际许可协议 (CC BY-NC-SA 4.0) 进行许可。
