proxy_set_header Host $host 这个设置的目的是什么呢?
来源:7-17 nginx配置
WhitePaper
2020-12-01
老师你好,我想问一下,proxy_set_header Host $host 这个设置的目的是什么呢?如果不设置会有什么后果?
根据我自己的现在查到资料,proxy_set_header Host 是设置转发的请求的头部中Host字段的值的,如果不设置,那么默认是$proxy_host 也就是 proxy_server中的值。如果设置成$host, 那么就会是server_name 设置的值(nginx的地址)。
可是为什么要将host改成nginx的地址呢?如果在nodejs中收到的请求,header中host字段,和请求的nodejs的地址不一致,不是才应该会有问题么?比如,被过滤了啥的?
谢谢
写回答
2回答
-
如你所说,如果 nodejs 中用不到 host ,其实 proxy_set_header 设置不设置,无所谓。
这个 nginx 的配置就是我日常自己的配置拷贝过来了,由于我们课程中没有专门用到 host 的地方,所以我也没有特别关心这里。
还是你比较细心,看到了这个问题。其实本课程这里,我们可以去掉这个配置。
112020-12-02 -
小琥珀007
2022-02-03
如果不设置,那么默认是$proxy_host 也就是 proxy_server中的值。如果设置成$host, 那么就会是server_name 设置的值(nginx的地址)。
同学,你这儿貌似说反了,不设置$host才是nginx的地址。
00
相似问题
Host $host没明白什么意思
回答 1
demo运行不起来,报错:NOAUTH
回答 3