我使用 Nginx 作为代理来过滤我的 AppEngine Java 应用程序的请求。GAE 的位置服务(X-AppEngine-country 标头)在没有代理的情况下工作得很好,但现在 GAE 使用代理服务器的 IP 作为客户端 IP,而 X-AppEngine-country 标头非常无用 - 它返回“ZZ”作为国家代码。
我知道标头由客户端 IP 确定,如此处所述:
“ X-AppEngine-Country - 发出请求的国家/地区,采用 ISO 3166-1 alpha-2 国家/地区代码。App Engine 根据客户端的 IP 地址确定此代码。 ”
问题是我不知道这个标头是从什么数据中得出的。我使用 Nginx 模块在 X-Forwarded-For、Remote_Addr 和 Http_Client_IP 标头中设置客户端 IP,但显然 X-AppEngine-country 标头是从其他地方派生的。
如何向 GAE 提供客户端 IP,以便它可以从原始 IP 中检索正确的国家代码?