當(dāng)在代理服務(wù)器之后運(yùn)行 Express 時(shí),請(qǐng)將應(yīng)用變量 trust proxy
設(shè)置(使用 app.set())為下述列表中的一項(xiàng)。
如果沒(méi)有設(shè)置應(yīng)用變量 trust proxy
,應(yīng)用將不會(huì)運(yùn)行,除非 trust proxy
設(shè)置正確,否則應(yīng)用會(huì)誤將代理服務(wù)器的 IP 地址注冊(cè)為客戶端 IP 地址。
類(lèi)型 | 值 |
---|---|
Boolean | 如果為 如果為 |
IP 地址 | IP 地址、子網(wǎng)或 IP 地址數(shù)組和可信的子網(wǎng)。下面是預(yù)配置的子網(wǎng)列表。
使用如下方式設(shè)置 IP 地址: 當(dāng)指定地址時(shí),IP 地址或子網(wǎng)從地址確定過(guò)程中被除去,離應(yīng)用服務(wù)器最近的非受信 IP 地址被當(dāng)作客戶端 IP 地址。 |
Number | 將代理服務(wù)器前第 |
Function | 定制實(shí)現(xiàn),只有在您知道自己在干什么時(shí)才能這樣做。
|
設(shè)置 trust proxy
為非假值會(huì)帶來(lái)兩個(gè)重要變化:
反向代理可能設(shè)置 X-Forwarded-Proto
來(lái)告訴應(yīng)用使用 https 或簡(jiǎn)單的 http 協(xié)議。請(qǐng)參考 req.protocol。
req.ip 和 req.ips 的值將會(huì)由 X-Forwarded-For
中列出的 IP 地址構(gòu)成。
trust proxy
設(shè)置由 proxy-addr 軟件包實(shí)現(xiàn),請(qǐng)參考其文檔了解更多信息。
更多建議: