Node+Express+NGINX 应用程序返回 localhost 而不是域

2023-12-06

我有一个node+express网站在我的ubuntu服务器上运行在端口10000上,nginx在端口80上使用proxy_pass到localhost:10000。我的问题是,当我在 Express 中请求主机时,它返回 localhost 而不是我的域名。我使用 nginx 代理,这样我就可以管理计算机上指向不同应用程序的多个域。

有没有办法在我的node+express服务器上保留原始主机名,同时仍然在nginx中使用proxy_pass?


默认情况下,nginx将上游请求中的 Host 标头设置为出现在proxy_pass陈述。在这种情况下localhost.

您需要使用显式设置主机标头proxy_set_header指示。

例如,我总是设置这个组:

proxy_set_header  Host               $host;
proxy_set_header  X-Forwarded-For    $proxy_add_x_forwarded_for;
proxy_set_header  X-Forwarded-Proto  $scheme;
proxy_set_header  Accept-Encoding    "";
proxy_set_header  Proxy              "";

See 这个文件了解更多。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node+Express+NGINX 应用程序返回 localhost 而不是域 的相关文章

随机推荐