我們在一個stingray負載平衡器後面運行多個節點實例。我們的node.js應用程序運行Express.js。當我們訪問req.connection.remoteAddress
時,它會返回我們的黃貂魚裝置的IP。從Stingray負載平衡器後面的Node.js獲取客戶端IP
有誰知道如何轉發客戶端IP?
謝謝!
我們在一個stingray負載平衡器後面運行多個節點實例。我們的node.js應用程序運行Express.js。當我們訪問req.connection.remoteAddress
時,它會返回我們的黃貂魚裝置的IP。從Stingray負載平衡器後面的Node.js獲取客戶端IP
有誰知道如何轉發客戶端IP?
謝謝!
如果此信息未過期,則X-Cluster-Client-Ip標頭應包含原始IP。
var remoteAddress = req.header('X-Cluster-Client-Ip');
其他選項都在這裏引用:
在接受答案的鏈接不工作了,所以我想補充的是,如果你能夠在黃貂魚級透明度選項,然後該請求會像從原始IP而不是負載均衡器那樣查看後端。這樣可以避免將其從其他環境變量中拉出來,並避免可能需要處理變量中的多個「原始」IP。
「透明」選項位於池的「連接管理」屬性中。
查看請求中負載平衡器是否傳遞了原始IP地址的其他值。例如,有時出現在HTTP_TRUE_CLIENT_IP下 – 2012-07-06 19:41:35