Google app engine Cloudflare使用Google App engine保留原始IP地址

Google app engine Cloudflare使用Google App engine保留原始IP地址,google-app-engine,ip-address,cloudflare,Google App Engine,Ip Address,Cloudflare,Cloudflare提供了许多解决方案来保留原始客户机的IP地址,但主要是针对拥有物理机箱访问权限或拥有IaaS的用户 对于Google app engine,如何使其与Cloudflare配合使用,以便仍能提取原始客户端的IP地址?您可以使用以下服务器变量: $\u服务器[“HTTP\U CF\U连接\U IP”]实际访客IP地址 $\u服务器[“HTTP\u CF\u IPCOUNTRY”]访问国 $\u服务器[“HTTP\u CF\u访问者”]如果其HTTP或HTTPS 以下是PHP中的示

Cloudflare提供了许多解决方案来保留原始客户机的IP地址,但主要是针对拥有物理机箱访问权限或拥有IaaS的用户


对于Google app engine,如何使其与Cloudflare配合使用,以便仍能提取原始客户端的IP地址?

您可以使用以下服务器变量:

$\u服务器[“HTTP\U CF\U连接\U IP”]实际访客IP地址

$\u服务器[“HTTP\u CF\u IPCOUNTRY”]访问国

$\u服务器[“HTTP\u CF\u访问者”]如果其HTTP或HTTPS

以下是PHP中的示例代码:

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

您还可以使用HTTP_X_FORWARDED_获取“真正的”IP。您似乎可以使用以下详细信息在Java中了解这一点:

 String ipaddress = request.getHeader("HTTP_X_FORWARDED_FOR");

 if (ipaddress  == null)
        ipaddress = request.getRemoteAddr();
来源=

相关且可能有用:

根据他们正在设置的标题:
CF连接IP

要在java中检索此标头,可以使用

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

嗨,Michael,google应用程序引擎只运行java或python。我正在运行java—您知道它在java中应该是什么样子吗?谢谢