当前位置: 首页 > news >正文

Nginx:支持 HTTPS

文章目录

    • Nginx 开启 ssl 以支持 HTTPS
      • 1 生成本地证书
      • 2 开启 ssl 以支持 HTTPS
      • 3 将 https 的请求转发给 http
    • 最终的 nginx.conf 如下

Nginx 开启 ssl 以支持 HTTPS

[!IMPORTANT]

在下文中,将采用如下定义。

HTTP端口: 80

HTTPS端口: 443

服务地址: www.0ll1.com,也可以是 IP

1 生成本地证书

  1. 生成一个 RSA 私钥:server.key

    openssl genrsa -out server.key 2048
    
  2. 生成一个自签名的 X.509 证书:server.crt

    openssl req -new -x509 -days 8760 -key server.key -out server.crt -subj "/C=CN/O=Institute of Information Engineering, CAS/CN=www.0ll1.com"
    

2 开启 ssl 以支持 HTTPS

server {listen 443 ssl;server_name www.0ll1.com;ssl_certificate /usr/local/nginx/cert/server.crt;ssl_certificate_key /usr/local/nginx/cert/server.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;ssl_prefer_server_ciphers on;
}

3 将 https 的请求转发给 http

server {location / {proxy_set_header Host $host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 60;proxy_read_timeout 600;proxy_send_timeout 600;proxy_pass http://www.0ll1.com:80;}
}

[!NOTE]

只需要将 proxy_pass 修改为 http 服务的 url 即可。

最终的 nginx.conf 如下

server {listen 443 ssl;server_name www.0ll1.com;ssl_certificate /usr/local/nginx/cert/server.crt;ssl_certificate_key /usr/local/nginx/cert/server.key;ssl_session_timeout 5m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;ssl_prefer_server_ciphers on;location / {proxy_set_header Host $host;proxy_redirect off;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 60;proxy_read_timeout 600;proxy_send_timeout 600;proxy_pass http://www.0ll1.com:80;}
}

相关文章:

  • 考研系列-计算机网络-第五章、传输层
  • 二叉树层序遍历技术解析与面试指南
  • 状态管理最佳实践:Riverpod响应式编程
  • Windows 同步-互锁变量访问
  • 【我的创作纪念日】 --- 与CSDN走过的第365天
  • Nginx​中间件的解析
  • 厚铜PCB生产如何保证铜平衡?
  • 数据库对象与权限管理-Oracle数据字典详解
  • vim 命令复习
  • 为TA开发人员介绍具有最新改进的Kinibi-610a
  • js实现2D图片堆叠在一起呈现为3D效果,类似大楼楼层的效果,点击每个楼层不会被其他楼层遮挡
  • 稍早版本的ICG3000使用VXLAN建立L2 VPN
  • [PTA]2025 CCCC-GPLT天梯赛 胖达的山头
  • 『不废话』之Python管理工具uv快速入门
  • uv包管理器如何安装依赖?
  • 直播分享|TinyVue 多端实战与轻量图标库分享
  • 多头注意力(Multi‑Head Attention)
  • A2A + MCP:构建实用人工智能系统的超强组合
  • rlm.exe是什么
  • vue3:十一、主页面布局(修改左侧导航条的样式)
  • 共生与伴生:关于人工智能时代艺术评论的对象与主体的思考
  • “穿越看洪武”,明太祖及其皇后像台北故宫博物院南院展出
  • 特朗普考虑任命副幕僚长米勒任国安顾问,曾策划驱逐移民行动
  • 新华社:让历史照鉴未来
  • G40迎来返程大车流,今明两日预计超13万辆车经长江隧桥进沪
  • 金正恩视察重要坦克厂并强调更迭陆军装备