2013-06-20 36 views
2

的CloudFlare提供了許多解決方案,保留了原有的客戶端IP地址的原始IP地址,但大多是針對誰擁有訪問物理框或具有IaaS的人。CloudFlare的保留與谷歌應用程序引擎

對於Google應用引擎,如何使其與Cloudflare一起工作,以便我仍然可以提取原始客戶端的IP地址?

回答

0

您可以使用以下服務器變量:

$ _ SERVER [ 「HTTP_CF_CONNECTING_IP」]真正的訪問者IP地址

$ _ SERVER [ 「HTTP_CF_IPCOUNTRY」]國家遊客的

$ _ SERVER [「HTTP_CF_VISITOR 「如果其HTTP或HTTPS

下面是在PHP樣本代碼:

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { 
    $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"]; 
} 
+0

喜邁克爾,谷歌應用程序引擎只運行Java或Python。我正在運行java - 你知道它應該如何在java中看起來像?謝謝 – sanc

1

根據cloudflare support他們設置標題:CF-Connecting-IP

要檢索該頭在Java中,你可以使用

String paramIpAddress = request.getHeader("CF-Connecting-IP"); 
if (paramIpAddress == null) { 
    paramIpAddress = request.getRemoteAddr(); 
}