2012-11-19 52 views
0

我试图获取主机访问我的网站Express.js,我使用下面的代码req.headers.host在Express.js返回127.0.0.1

app.get('/', function(req,res){ 
    console.log(req.headers.host) 
}); 

尽管此代码返回127.0.0.1:1000这是正确的端口,但它不是访问它的外部地址,为什么会发生这种情况?

感谢

+1

无论您的服务器在哪里,它都可能位于未通过所有请求标头的网络设备之后。控制整个req.headers对象并查看正在传递的内容。 – Geuis

回答

1

并不是每一个客户端主机名,如this other question表示你可以尝试用下面的代码获取客户端的IP地址,但:

req.headers ['X-forwarded-为'] || req.connection.remoteAddress

+0

我想获取网站上请求的网址,因为我需要获取subdomain.domain.com,而不是客户端IP –

0

您或者将浏览器直接指向http://127.0.0.1:1000或者您正在使用本地反向代理。在第二种情况下,您的代理必须配置为设置正确的主机头。

相关问题