![WordPress 使用 mod_remoteip 顯示代理 IP 位址](https://rvso.com/image/658358/WordPress%20%E4%BD%BF%E7%94%A8%20mod_remoteip%20%E9%A1%AF%E7%A4%BA%E4%BB%A3%E7%90%86%20IP%20%E4%BD%8D%E5%9D%80.png)
我之前已經設定過它並且它可以在其他伺服器上運行,但我一生都無法弄清楚為什麼它在這種情況下不起作用,儘管我有一個可能的理論。所有這一切都在亞馬遜網路服務中。
因此,在本例中,我們使用 IIS 8 在 Windows 伺服器上託管主網站。主站點位於VPC中,支援多個IP位址。該部落格位於 VPC 之外。
其他設定(有效)都使用 nginx 作為反向代理伺服器而不是 IIS,且代理程式和伺服器位於同一 VPC 中。這真的很重要嗎?
從工作配置來看:
LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 172.31.x.x/32
非工作配置:
LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 54.2x.x.x
我也嘗試過它的變體,例如:
RemoteIPTrustedProxy 54.2x.x.x # tried /32 and /24
RemoteIPInternalProxy 54.x.x.x/32 # also tried /24
RemoteIPTrustedProxy www...
使用測試 PHP 頁面來查看它是否正常工作,我從以下位置看到了這一點print_r($_SERVER);
:
[HTTP_X_FORWARDED_BY] => www.....
[HTTP_X_FORWARDED_FOR] => x.x.x.x:x
[SERVER_ADDR] => 10.230.x.x
[SERVER_PORT] => 80
[REMOTE_ADDR] => 54.2x.x.x
PHP getheaders 函數的輸出:
[X-Forwarded-By] => www....
[X-Forwarded-For] => x.x.x.x:x
這文件用於作為 Intranet IP 位址的mod_remoteip
清單。172.16/12
該模組是否真的因為未偵測到 Intranet 區塊而拒絕正常運作?我在錯誤日誌中也找不到任何相關內容。
這樣做似乎很愚蠢,但這是唯一有意義的理論。
另外值得注意的是,因為我知道有人會問:我們在設定部落格伺服器後設定了 VPC,只是還沒有完成在 VPC 內重新啟動它的工作。我試圖讓它在沒有它的情況下正常工作,但如果這是問題所在,那麼我們會考慮這樣做。
謝謝。