🛡️ Nginx 配置 HTTPS 完整指南
一、准备工作
域名已备案(国内服务器)
SSL/TLS 证书和私钥文件
通常包括:
your_domain.crt:服务器证书
your_domain.key:私钥文件
chain.crt 或 ca.crt:中间证书链(如果有的话)
安装好 Nginx
二、证书格式要求
Nginx 推荐使用 PEM 格式的证书。如果你收到的是多个文件:
合并证书链(如有):
cat your_domain.crt chain.crt > fullchain.crt
三、Nginx HTTPS 配置示例
编辑站点配置文件(如 /etc/nginx/conf.d/yourdomain.conf):
`server {
listen 443 ssl http2; # 开启 HTTPS + HTTP/2(需 OpenSSL 1.0.2+ 和 Nginx 支持)
server_name yourdomain.com www.yourdomain.com;
# SSL 配置
ssl_certificate /path/to/fullchain.crt;
ssl_certificate_key /path/to/your_domain.key;
ssl_protocols TLSv1.2 TLSv1.3; # 禁用不安全旧协议
ssl_ciphers HIGH:!aNULL:!MD5:!kEDH; # 使用强加密套件
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# OCSP Stapling(可选)
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
# HSTS 头(建议第一次启用时设置 max-age=60,测试无误后再改为一年)
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
# 日志格式
access_log /var/log/nginx/yourdomain_https_access.log;
error_log /var/log/nginx/yourdomain_https_error.log;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ =404;
}
# 可以在这里添加反向代理等配置
}`
四、强制 HTTP 跳转 HTTPS(推荐)
新建一个监听 80 端口的 server 块:
`server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
return 301 https://$host$request_uri;
}`
五、检查配置 & 重启 Nginx
nginx -t # 检查语法是否正确 systemctl reload nginx # 重载配置
六、图形化 SSL/TLS 长期管理控制台
web控制台
图文教程
七、高级配置建议(生产环境)
启用 HTTP/2:需要 TLSv1.2+ 和 ALPN 支持,确保 Nginx 编译时带有 --with-http_v2_module
OCSP Stapling:提升证书验证速度,减少客户端等待时间
HSTS Preload List:如果想加入浏览器预加载列表,请前往 hstspreload.org 提交
八、常见问题排查
HTTPS 页面无法打开:端口未开放或证书路径错误;检查防火墙、证书路径、Nginx 配置
“证书不受信任”:中间证书未合并;确保合并了完整的证书链
“证书过期”:未及时更新;设置监控或使用 Let’s Encrypt 自动更新
“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”:协议或加密套件不兼容;修改 ssl_protocols 和 ssl_ciphers
欢迎继续提问,我可以提供更定制化的配置方案
🛡️ Nginx 配置 HTTPS 完整指南的更多相关文章
- Nginx 配置 HTTPS 完整过程(阿里云申请免费版一年ssl证书)
1. nginx 的 ssl 模块安装 查看 nginx 是否安装 http_ssl_module 模块. $ /usr/local/nginx/sbin/nginx -V 如果出现 configur ...
- Nginx配置Https(详细、完整)
Nginx配置Https(详细.完整) 原文链接:请支持原创 前置条件: 在配置https之前请确保下面的步骤已经完成 服务器已经安装nginx并且通过http可以正常访问 不会安装nginx的可以参 ...
- Nginx配置Https
1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...
- 【转】Linux下nginx配置https协议访问的方法
一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...
- nginx配置https双向验证(ca机构证书+自签证书)
nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...
- Nginx 配置https 服务
一.HTTPS 服务 为什么需要HTTPS? 原因:HTTP不安全 1.传输数据被中间人盗用.信息泄露 2.数据内容劫持.篡改 HTTPS协议的实现 对传输内容进行加密以及身份验证 HTTPS加密校验 ...
- nginx配置https转发到tomcat(使用自签名的证书)
一.使用openSSL生成自签名的证书 1.生成RSA私钥 命令:openssl genrsa -des3 -out server.key 1024 说明:生成rsa私钥,des3算法,1024强度, ...
- RedHat 6.6下安装nginx,配置HTTPS
1.安装依赖包 yum -y install pcre-devel openssl-devel zlib-devel 2.下载nginx安装包到服务器上,当前使用版本nginx-1.15.5.tar. ...
- nginx 配置https并自签名证书
2016-10-28 转载请注明出处:http://daodaoliang.com/ 作者: daodaoliang 版本: V1.0.1 邮箱: daodaoliang@yeah.net 参考链接: ...
- [记录]NGINX配置HTTPS性能优化方案一则
NGINX配置HTTPS性能优化方案一则: 1)HSTS的合理使用 2)会话恢复的合理使用 3)Ocsp stapling的合理使用 4)TLS协议的合理配置 5)False Start的合理使用 6 ...
随机推荐
- Python 潮流周刊#95:像人类一样使用计算机(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- 学习unigui【28】UniGUI接收POST/GET
小儿科问题,直接上流程代码: 1 procedure TUniServerModule.UniGUIServerModuleHTTPCommand( 2 ARequestInfo: TIdHTTPRe ...
- 使用Python建立双缝干涉模型
引言 双缝干涉实验是物理学中经典的实验之一,它展示了光的波动性以及量子力学的奇异性.实验结果表明,当光或粒子通过两条狭缝时,它们会产生干涉现象,形成明暗相间的条纹图案.这种现象不仅说明了光的波动性,还 ...
- ArrayBlockingQueue的poll方法底层原理
一.ArrayBlockingQueue的poll方法底层原理 ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个基于数组实现的有界阻塞 ...
- InnoDB 的内存结构详情
文章目录 1.更新语句在MySQL中是如何执行的 2.重要的内存结构-Buffer Pool缓冲池 3.undo日志文件如何让更新的数据可以回滚 4.更新Buffer Pool缓冲池中的缓存数据 5. ...
- 从excle中读取数据的方法
倒入两个库:ExcelLibrary,Collections 首先,必须注意文件格式为xls 表格内容 open_Excel C:\\Users\\Beckham\\Desktop\\a.xls ...
- 面试官:SpringBoot 工程启动以后,希望将数据库中已有的固定内容提前加载到 Redis 缓存中,应该如何处理
这个问题说白了就是希望通过预加载数据,达到提升系统性能和响应速度的效果.像目前在很多场景中都有使用: 电商平台的商品分类信息.用户基础资料:避免高并发时数据库被重复查询,降低响应延迟. 系统参数配置( ...
- Python模块的搜索路径
在Python中,模块搜索路径是指解释器用来查找导入模块的位置列表.了解和掌握Python模块搜索路径对于正确导入模块和管理模块的位置至关重要. Python模块搜索路径的主要来源包括当前目录.Pyt ...
- TypeScript实用技巧大杂烩,助你成为真正的全栈工程师
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- GDB调试Core文件出现问号?的原因
函数的调用其实是函数的入栈出栈操作,但当程序栈因程序的错误导致破坏了栈,这时候就会导致gdb解析core文件时解析不出来的情况,即是问号(?) 那还能做点什么呢? 可以通过打印\(rbp\)和\(rs ...