首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么NodeJs req.get('host')会导致本地主机:3000在数字海洋而不是我的实际域名

问为什么NodeJs req.get('host')会导致本地主机:3000在数字海洋而不是我的实际域名
EN

Stack Overflow用户
提问于 2022-09-03 23:29:31
回答 2查看 67关注 0票数 1

我在数字海洋上有一个水滴。一切正常工作,并配置正确。然而,我在这个液滴上运行着nodeJs。这个代码req.get('host')输出localhost:3000而不是我的域名。请让我如何解决这个问题,我需要什么文件来做这个改变。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-04 01:07:26

我在高速公路的文件里找到的。我观察到数字海洋正在代理我的请求,因此在x转发主机头属性中添加主机名。

http://expressjs.com/en/5x/api.html#req.host

当信任代理设置不计算为false时,此属性将从X转发-主机标头字段中获取值。此标头可以由客户端或代理设置。

如果请求中有多个X转发主机头,则使用第一个标头的值。这包括一个带有逗号分隔值的头,其中使用了第一个值。

票数 0
EN

Stack Overflow用户

发布于 2022-09-04 06:48:02

我认为这与您在数字海洋面板中的dns设置有关,他们解释它是这里

代码语言:javascript
复制
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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73595976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档