请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

proxy_set_header Host $host 这个设置的目的是什么呢?

老师你好,我想问一下,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 的地方,所以我也没有特别关心这里。

还是你比较细心,看到了这个问题。其实本课程这里,我们可以去掉这个配置。

1 回复 有任何疑惑可以回复我~
  • 提问者 WhitePaper #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-12-02 07:48:36
小琥珀007 2022-02-03 23:00:36

如果不设置,那么默认是$proxy_host 也就是 proxy_server中的值。如果设置成$host, 那么就会是server_name 设置的值(nginx的地址)。

同学,你这儿貌似说反了,不设置$host才是nginx的地址。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号