一、准备工作

域名已备案(国内服务器)

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 完整指南的更多相关文章

  1. Nginx 配置 HTTPS 完整过程(阿里云申请免费版一年ssl证书)

    1. nginx 的 ssl 模块安装 查看 nginx 是否安装 http_ssl_module 模块. $ /usr/local/nginx/sbin/nginx -V 如果出现 configur ...

  2. Nginx配置Https(详细、完整)

    Nginx配置Https(详细.完整) 原文链接:请支持原创 前置条件: 在配置https之前请确保下面的步骤已经完成 服务器已经安装nginx并且通过http可以正常访问 不会安装nginx的可以参 ...

  3. Nginx配置Https

    1.申请证书: https://console.qcloud.com/ssl?utm_source=yingyongbao&utm_medium=ssl&utm_campaign=qc ...

  4. 【转】Linux下nginx配置https协议访问的方法

    一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/ ...

  5. nginx配置https双向验证(ca机构证书+自签证书)

    nginx配置https双向验证 服务端验证(ca机构证书) 客户端验证(服务器自签证书) 本文用的阿里云签发的免费证书实验,下载nginx安装ssl,文件夹有两个文件 这两个文件用于做服务器http ...

  6. Nginx 配置https 服务

    一.HTTPS 服务 为什么需要HTTPS? 原因:HTTP不安全 1.传输数据被中间人盗用.信息泄露 2.数据内容劫持.篡改 HTTPS协议的实现 对传输内容进行加密以及身份验证 HTTPS加密校验 ...

  7. nginx配置https转发到tomcat(使用自签名的证书)

    一.使用openSSL生成自签名的证书 1.生成RSA私钥 命令:openssl genrsa -des3 -out server.key 1024 说明:生成rsa私钥,des3算法,1024强度, ...

  8. RedHat 6.6下安装nginx,配置HTTPS

    1.安装依赖包 yum -y install pcre-devel openssl-devel zlib-devel 2.下载nginx安装包到服务器上,当前使用版本nginx-1.15.5.tar. ...

  9. nginx 配置https并自签名证书

    2016-10-28 转载请注明出处:http://daodaoliang.com/ 作者: daodaoliang 版本: V1.0.1 邮箱: daodaoliang@yeah.net 参考链接: ...

  10. [记录]NGINX配置HTTPS性能优化方案一则

    NGINX配置HTTPS性能优化方案一则: 1)HSTS的合理使用 2)会话恢复的合理使用 3)Ocsp stapling的合理使用 4)TLS协议的合理配置 5)False Start的合理使用 6 ...

随机推荐

  1. Python 潮流周刊#95:像人类一样使用计算机(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  2. 学习unigui【28】UniGUI接收POST/GET

    小儿科问题,直接上流程代码: 1 procedure TUniServerModule.UniGUIServerModuleHTTPCommand( 2 ARequestInfo: TIdHTTPRe ...

  3. 使用Python建立双缝干涉模型

    引言 双缝干涉实验是物理学中经典的实验之一,它展示了光的波动性以及量子力学的奇异性.实验结果表明,当光或粒子通过两条狭缝时,它们会产生干涉现象,形成明暗相间的条纹图案.这种现象不仅说明了光的波动性,还 ...

  4. ArrayBlockingQueue的poll方法底层原理

    一.ArrayBlockingQueue的poll方法底层原理 ArrayBlockingQueue 是 Java 并发包 (java.util.concurrent) 中的一个基于数组实现的有界阻塞 ...

  5. InnoDB 的内存结构详情

    文章目录 1.更新语句在MySQL中是如何执行的 2.重要的内存结构-Buffer Pool缓冲池 3.undo日志文件如何让更新的数据可以回滚 4.更新Buffer Pool缓冲池中的缓存数据 5. ...

  6. 从excle中读取数据的方法

    倒入两个库:ExcelLibrary,Collections 首先,必须注意文件格式为xls 表格内容 open_Excel    C:\\Users\\Beckham\\Desktop\\a.xls ...

  7. 面试官:SpringBoot 工程启动以后,希望将数据库中已有的固定内容提前加载到 Redis 缓存中,应该如何处理

    这个问题说白了就是希望通过预加载数据,达到提升系统性能和响应速度的效果.像目前在很多场景中都有使用: 电商平台的商品分类信息.用户基础资料:避免高并发时数据库被重复查询,降低响应延迟. 系统参数配置( ...

  8. Python模块的搜索路径

    在Python中,模块搜索路径是指解释器用来查找导入模块的位置列表.了解和掌握Python模块搜索路径对于正确导入模块和管理模块的位置至关重要. Python模块搜索路径的主要来源包括当前目录.Pyt ...

  9. TypeScript实用技巧大杂烩,助你成为真正的全栈工程师

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  10. GDB调试Core文件出现问号?的原因

    函数的调用其实是函数的入栈出栈操作,但当程序栈因程序的错误导致破坏了栈,这时候就会导致gdb解析core文件时解析不出来的情况,即是问号(?) 那还能做点什么呢? 可以通过打印\(rbp\)和\(rs ...