0
是否有充分的理由追加以逗號分隔的ips或將以下工作?爲什麼清漆默認配置將IP附加到x轉發 - 對於
if (req.restarts == 0) {
if (!req.http.x-forwarded-for) {
set req.http.X-Forwarded-For = client.ip;
}
}
是否有充分的理由追加以逗號分隔的ips或將以下工作?爲什麼清漆默認配置將IP附加到x轉發 - 對於
if (req.restarts == 0) {
if (!req.http.x-forwarded-for) {
set req.http.X-Forwarded-For = client.ip;
}
}
它爲什麼做這樣的原因可能是RFC7239
的「for」參數用於透露有關客戶 發起在 代理鏈中的請求和後續代理信息。
客戶端代理像魷魚也可以發起IP添加到X - 轉發,對於頭部,所以如果你那樣做,並請求中已經有標頭集合,清漆不會增加自己認爲client.ip作爲標題字段的一部分。
更新:
「真正的IP」只會是標頭的唯一價值,如果客戶端已經不提供一個 - 但像魷魚代理做到這一點。如果你總是希望客戶端的IP地址(可能是不透明代理服務器的IP地址 - 因此創建XFF報頭)作爲唯一值,則不需要if (!req.http.x-forwarded-for)
條件。
但我真的會離開XFF標題,並在後端使用自定義標題字段,特別是如果您打算將其用於資源訪問控制,這是一個固有的不安全的事情,無論如何使用XFF標頭。
另請注意,可以使用setRequestHeader()方法在JavaScript中設置HTTP標頭。
瞭解您的建議目標是有用的。
所以這樣做一般不應該是一個問題,因爲真正的ip總是在一開始,這是一個可靠的假設嗎? –