我们有一个HAProxy用作配置了SSL的负载均衡器,它位于NGINX服务静态文件的前面。显然,NGINX不会继承来自上游HAProxy的X-Forwarded
标头中的信息。
例如:
curl https://[domain]/folder
- > HAProxy [ssl]
- > NGINX [non-ssl]
,其中/文件夹正在提供index.html
个文件。
NGINX然后执行301
重定向到http://[domain]/folder/
,而应该执行重定向到https://[domain]/folder/
。
在Express.js中,trust proxy
配置表明应用程序位于前置代理的后面,并使用X-Forwarded-*
标头来确定原始协议信息。
NGINX中是否有类似的trust proxy
配置?
答案 0 :(得分:1)
原来NGINX将任何请求重定向到没有尾部斜杠的文件夹。使用try_files
代替index
模块可以避免这种情况。
而不是使用index index.html index.htm;
来修复try_files $uri $uri/index.html $uri/index.htm;
。