nginx配置https协议(测试环境)

第一步申请证书

首先申请证书这一步,晚上有很多种方式实现,可以自己用算法实现,也可以找在线生成的网站,我这里使用了在线网站
https://www.toolhelper.cn/SSL/SSLGenerate

第二步将证书放到对应的目录下

在这里插入图片描述
这里我们主要用cert.pem和 private.key 这两个文件

第三步配置nginx.conf配置文件

在这里插入图片描述

<think>我们想要配置NginxHTTPS请求反向代理到后端的HTTP服务。这通常用于后端服务不支持HTTPS,而Nginx作为SSL终端的情况。 配置思路: 1. 监听443端口(HTTPS),配置SSL证书。 2. 将接收到的HTTPS请求通过proxy_pass转发到后端的HTTP服务。 3. 同时配置HTTP到HTTPS的重定向(可选,如果不需要可以省略)。 注意:用户要求将https转为http,即客户端到NginxHTTPSNginx到后端是HTTP。 配置示例: 假设后端服务运行在http://localhost:8080 </think>以下是将 HTTPS 请求转换为 HTTP 协议并转发到后端的 Nginx 配置指南: ### Nginx HTTPS 转 HTTP 配置 ```nginx server { listen 443 ssl; # 监听HTTPS端口 server_name yourdomain.com; # SSL证书配置(必须) ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; # 协议转换核心配置 location / { proxy_pass http://backend_server; # 注意这里是http协议 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 可选:添加安全头 add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always; } } # 可选:HTTP自动跳转HTTPS(保持全站HTTPS) server { listen 80; server_name yourdomain.com; return 301 https://$host$request_uri; } ``` ### 关键配置说明 1. **协议转换核心**:`proxy_pass http://...` 将 HTTPS 请求转发到 HTTP 后端 2. **头部传递**: - `X-Forwarded-Proto $scheme`:告知后端原始协议HTTPS - `Host $host`:保持原始主机头 3. **安全增强**(可选): ```nginx proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; ``` ### 典型应用场景 1. 前端 HTTPS 加密访问 → Nginx 解密 → HTTP 后端服务 2. 云服务负载均衡器 HTTPS 卸载 → HTTP 内部服务器 3. 安全网关处理 SSL 加解密 → 非加密应用服务器 ### 验证步骤 1. 测试配置: ```bash sudo nginx -t ``` 2. 重载配置: ```bash sudo nginx -s reload ``` 3. 验证请求(查看后端收到的协议头): ```bash curl -k https://yourdomain.com -H "X-Forwarded-Proto: https" ``` ### 注意事项 1. **安全警告**:后端 HTTP 通信未加密,仅限内网安全环境使用 2. **混合内容**:确保后端返回的资源不包含 `http://` 硬编码地址 3. **证书管理**:定期更新 SSL 证书(推荐 Let's Encrypt)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值