2012-11-19 56 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或者您正在使用本地反向代理。在第二種情況下,您的代理必須配置爲設置正確的主機頭。

相關問題