Nginx在配置反向代理的时候:
location / {
proxy_pass https://demo.com;
proxy_set_header Host $host;
}
我们看到有设置头 Host $host;
,请问为何需要这一步呢?
Nginx在配置反向代理的时候:
location / {
proxy_pass https://demo.com;
proxy_set_header Host $host;
}
我们看到有设置头 Host $host;
,请问为何需要这一步呢?
可能会存在这种情况:
带上 Host 的作用就是,让你在相同 ip 多站点的情况下,能够区分你要访问这台服务器的哪个站点的资源。
反向代理要加上,就是要让这部分信息不丢失。
不设置的话,nginx 不会主动将你的头信息传递。
经过测试,nginx 会修改 Host
上面是不加上 proxy_set_header Host $host;
的结果,Host 会变为代理的目的地址。
下面是加上的结果。
2 回答1.2k 阅读✓ 已解决
2 回答2.4k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
1 回答3k 阅读
1 回答1.2k 阅读✓ 已解决
1 回答1.8k 阅读
3 回答1k 阅读
https://docs.nginx.com/nginx/...
nginx默认会修改Host和Connection值,需要用proxy_set_header改回去。以及为空的header会被消除。
其他header信息会原样传递。