$ http_host和$ host的实际区别

时间:2016-10-11 06:41:55

标签: nginx proxy

正如标题所说,我正在寻找在$http_host设置中使用$host代替proxy_set_header变量的实际差异(以及潜在的陷阱) > nginx的

当然,我已经阅读了这个问题的答案What's the difference of $host and $http_host in Nginx。但除了$host删除端口并使小写字母外,这并没有真正解释会影响我的应用程序的情况,例如" HTTP_HOST何时不存在或者是空值" ?是在用户使用较旧的浏览器时还是在他/她通过另一个代理时?

(我使用nginx将流量路由到python烧瓶后端应用程序(也使用flask-socket.io)

1 个答案:

答案 0 :(得分:1)

实际差异在于$host提供了更广泛的兼容性,特别是对于过时版本的HTTP协议(例如RFC 2068)。

对于面向公众的应用程序,

$host优先于$http_host,因为它对客户端兼容性的限制最少。而$http_host可能对严格遵守协议的应用程序有用。