【问题标题】:Practical difference of $http_host and $host$http_host 和 $host 的实际区别
【发布时间】:2016-10-11 06:41:55
【问题描述】:

正如标题所说,我正在寻找在 nginxproxy_set_header 设置中使用$http_host 而不是$host 变量的实际差异(和潜在的陷阱)

当然我已经阅读了这个问题的答案What's the difference of $host and $http_host in Nginx。但是除了$host 删除端口并制作小写之外,这并不能真正解释在什么情况下会影响我的应用程序,例如 “HTTP_HOST 不存在或为空值” ?是当用户使用旧版浏览器时还是当他/她在途中经过另一个代理时?

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

【问题讨论】:

    标签: nginx proxy


    【解决方案1】:

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

    对于面向公众的应用程序,$host 优于 $http_host,因为它对客户端兼容性的限制最少。而$http_host 可能在需要严格遵守协议的应用程序中很有用。

    【讨论】:

    • 仅举几个例子将不胜感激。比如我什么时候会受到过时版本的 HTTP 协议的影响?它在旧浏览器中?或者如果流量是通过一条不幸的路线路由的?还是我的服务器应用程序是旧版本?
    猜你喜欢
    • 2013-03-03
    • 2020-11-25
    • 2016-02-10
    • 1970-01-01
    • 2011-11-05
    • 2021-04-05
    • 2011-08-30
    • 2020-10-10
    • 1970-01-01
    相关资源
    最近更新 更多