2017-04-27 30 views
0

我們目前的設置是贏2008 R2標準服務器,Apache的HTTP 2.2.22,Tomcat的8.0的Apache 2.4保留客戶端IP到Tomcat 8

我們使用的是Apache反向代理服務器和客戶端的IP地址是Apache傳遞到使用下面的代碼在Tomcat的server.xml的Tomcat:

<Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies="127\.0\.0\.1" /> 

當我們升級到Apache 2.4.25我們不再獲取客戶端IP地址過去了,我們看到的是0:0:0:0:0 :0:0:1。

似乎我們已經嘗試過Google提供的所有服務,包括設置X-Forwarded-For(在Apache & Tomcat中),將Apache配置更改爲包含mod_remoteip,並將LogFormat設置爲使用%a而不是%h 。

任何人都可以建議其他選項嘗試或解決客戶端IP丟失的方法。

回答

1

看起來像啓用了IPv6的升級,您必須將IPv6回送地址0:0:0:0:0:0:0:1添加到internalProxies例如, "127\.0\.0\.1|0:0:0:0:0:0:0:1"

編輯其他用戶:改變「126」到「127」,否則答案將無法正常工作。因爲Stackoverflow需要「編輯必須至少有6個字符;在這篇文章中還有其他改進之處嗎?」,我不得不附加這個編輯原因文本。

+0

Thanks @Hanz,我們認爲我們在Apache中處理過IPv6,但沒有意識到它仍然流向Tomcat,將0:0:0:0:0:0:0:1放入閥門表達式固定它。 – Tim