我在数字海洋上有一个水滴。一切正常工作,并配置正确。然而,我在这个液滴上运行着nodeJs。这个代码req.get('host')输出localhost:3000而不是我的域名。请让我如何解决这个问题,我需要什么文件来做这个改变。
发布于 2022-09-04 01:07:26
我在高速公路的文件里找到的。我观察到数字海洋正在代理我的请求,因此在x转发主机头属性中添加主机名。
http://expressjs.com/en/5x/api.html#req.host
当信任代理设置不计算为false时,此属性将从X转发-主机标头字段中获取值。此标头可以由客户端或代理设置。
如果请求中有多个X转发主机头,则使用第一个标头的值。这包括一个带有逗号分隔值的头,其中使用了第一个值。
发布于 2022-09-04 06:48:02
我认为这与您在数字海洋面板中的dns设置有关,他们解释它是这里
WILL DIRECT TO, which can be set to:
A DigitalOcean Droplet or Load Balancer by typing its name and selecting it from the menu.您可以使用WILL DIRECT TO选项,因为它被重定向,所以主机名是localhost
https://stackoverflow.com/questions/73595976
复制相似问题