我試圖獲取主機訪問我的網站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
這是正確的端口,但它不是訪問它的外部地址,爲什麼會發生這種情況?
感謝
我試圖獲取主機訪問我的網站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
這是正確的端口,但它不是訪問它的外部地址,爲什麼會發生這種情況?
感謝
並不是每一個客戶端主機名,如this other question表示你可以嘗試用下面的代碼獲取客戶端的IP地址,但:
req.headers ['X-forwarded-爲'] || req.connection.remoteAddress
我想獲取網站上請求的網址,因爲我需要獲取subdomain.domain.com,而不是客戶端IP –
您或者將瀏覽器直接指向http://127.0.0.1:1000
或者您正在使用本地反向代理。在第二種情況下,您的代理必須配置爲設置正確的主機頭。
無論您的服務器在哪裏,它都可能位於未通過所有請求標頭的網絡設備之後。控制整個req.headers對象並查看正在傳遞的內容。 – Geuis