我正在使用nginx-proxy on docker之类的自动化工具来构建我的nginx配置。他们在那里让我在location
指令内添加了一条自定义行。
简而言之,我希望将www.example.com
重定向到example.com
,或者将http://www.example.com
和https://www.example.com
都重定向到https://example.com
。
自动配置创建结果如下:
server {
...
server_name www.example.com;
listen 443 ssl http2 ;
location / {
proxy_pass http://<upstream>;
return 301 $scheme://example.com;
}
}
我注意到proxy_pass
之前有return 301 ...
语法,并且由于它的创建是自动的,所以我认为我不能轻易修改它(即使return 301出现在{{1 }}语法。
proxy_pass
设置代理服务器的协议和地址以及位置应映射到的可选URI。
因此,由于nginx明智的问题是“ sets”,因此即使重定向遵循proxy_pass
语法,301重定向也会正确执行吗?
答案 0 :(得分:0)
从理查德·史密斯(RichardSmith)的评论中得知,return
语法将首先被评估,因此proxy_pass
被完全忽略。