如何用Nginx proxy_set_header和$scheme实现HTTPS路径长尾词改写?
- 内容介绍
- 文章标签
- 相关推荐
本文共计715个文字,预计阅读时间需要3分钟。
由于+Nginx+与后端通信默认走+HTTP+(例如+proxy_pass http://127.0.0.1:3000+),后端看到的请求协议就是+http+。它不知道用户实际使用的是+HTTPS+。一旦后端接收到跳转地址、API、基础路径或静态资源链接,就会硬编码这些链接为+HTTP+。
proxy_set_header X-Forwarded-Proto $scheme 必须加在 location 块里
这行配置不能写在 server 或 http 块顶层,必须紧贴 proxy_pass 前面,且位于具体 location 内。否则变量 $scheme 可能为空或取值错误。
本文共计715个文字,预计阅读时间需要3分钟。
由于+Nginx+与后端通信默认走+HTTP+(例如+proxy_pass http://127.0.0.1:3000+),后端看到的请求协议就是+http+。它不知道用户实际使用的是+HTTPS+。一旦后端接收到跳转地址、API、基础路径或静态资源链接,就会硬编码这些链接为+HTTP+。
proxy_set_header X-Forwarded-Proto $scheme 必须加在 location 块里
这行配置不能写在 server 或 http 块顶层,必须紧贴 proxy_pass 前面,且位于具体 location 内。否则变量 $scheme 可能为空或取值错误。

