因此,我目前正在尝试了解哪种配置对于 nginx 代理来说是一个好主意。我对以下两个选项有点困惑:
proxy_set_header Host $host;
proxy_redirect default;
(这是默认设置,因此是多余的)
如果我理解正确,那么它们似乎都瞄准同一个目标:确保重定向正常工作。将标头变量设置Host
为$host
(这是 nginx 服务器的名称,而默认值($proxy_host
)是代理服务器的名称),可确保代理服务器“将自己视为$host
”,从而将类型的路径链接/some/sub/path
到资源,$host/some/sub/path
而不是$proxy_host/some/sub/path
。
但这似乎也是目的proxy_redirect
所在。所以我不确定该怎么做。也许我并没有真正理解这些参数。
答案1
header的作用Host
是让上游服务器选择正确的虚拟主机来为网站提供服务。此外,应用程序使用它来确定访问者连接到正确的域。
用于proxy_redirect
修改上游服务器发回给访问者的响应中的Location
/字段。Refresh
所以,这两个功能是相辅相成的。Host
标头用于路由请求,而proxy_redirect
用于修改响应。