對於Nginx來說,我是一個相當新的東西,它似乎很混亂。我有我的服務器設置完美,但問題是,因爲我的服務器使用HTTP代理保護;而不是記錄真實的用戶IP,它記錄代理服務器IP。Nginx使用X-Forwarded替換REMOTE_ADDR
我試着做的是將$_SERVER['REMOTE_ADDR'];
設置爲$_SERVER['X-Forwarded-For'];
但我得到一個未定義的索引錯誤,所以我猜我必須在Nginx中定義X-Forwarded-For
?但是我不知道該怎麼做,我有一個簡單的設置,它只是帶有PHP的Nginx。沒有更多,沒有更多。
我在網上搜索過,但實際上找不到一些友善理解的信息。
我有權訪問源代碼,如果這有點幫助。我嘗試了很多解決方案,但無濟於事。
這是一種方式,但你怎麼處理這種情況的請求進來不通過代理服務器的情況下,這樣的作爲'localhost'的測試請求? – Brad 2015-01-07 17:57:21
不要這樣做。如果原始客戶端發送X-Forwarded-For報頭(代理服務器執行此操作),這將失敗,因爲那麼您的REMOTE_ADDR將有2個以彗形文字分隔的IP。 – 2017-02-22 04:46:42