我已配置apache(2.4版)反向代理在我們的網站上發佈安裝在內部服務器中的應用程序。一切工作正常,這些都是我在代理html.conf添加行:Apache反向代理與mod_remoteip
ProxyPass /app/bpv0SOCPOkqptPqO6XsIvucLzO7QXJyA/ http://srvacg:9081/acgv4/
如果我寫這篇文章的網址http://www.mysite.com/app/bpv0SOCPOkqptPqO6XsIvucLzO7QXJyA/我可以在我的內部應用程序登錄,我可以使用它。
問題是我的應用程序檢查客戶端的IP地址,並在同一時間只允許1個連接。在配置了反向代理的情況下,所有連接都使用安裝apache的服務器的私有IP完成。
我試圖能夠mod_remoteip來解決這個問題:
RemoteIPHeader X-Forwarded-For
但結果總是相同的。這是Apache的訪問日誌:
REMOTE-IP: %a - LOCAL-IP: %A | X-Forwarded-For: %{X-Forwarded-For}i | h: %h | UNDERLYING CLIENT IP: %{c}a |
REMOTE-IP: 217.57.XXX.XXX - LOCAL-IP: 192.168.89.3 | X-Forwarded-For: 217.57.XXX.XXX | h: 217.57.XXX.XXX | UNDERLYING CLIENT IP: 217.57.XXX.XXX |
217.57.XXX.XXX是客戶端IP,192.168.89.3是內部IP,並是我的應用程序接收到的IP。我無法知道它是如何得到這些信息的。
有人可以幫我嗎?
也許你可以簡單地擴展你的應用程序的這種情況?如果存在X-Forwarded-For頭,請檢查該IP地址,而不是正常的請求IP? – arkascha
Arkasha,對不起但我不能,應用程序是一個管理軟件,我不能把它放在它!謝謝 – fonta7
好吧,無論「管理軟件」是什麼,我明白你無法修改它的行爲細節。通過初始化客戶端地址來替換代理服務器的IP地址是不可能的,雖然它可能能夠僞造(或「構建」)這樣的包:希望你的防火牆會阻止這樣的請求,因爲它們似乎來自外部IP地址... – arkascha