用于在Google App Engine上运行的HttpServletRequest.getRemoteAddr()的IPv4

时间:2015-09-29 13:56:02

标签: ios google-app-engine servlets ipv4

我在Google App Engine上运行了一个HttpServlet。我的doGet()方法如下所示:

public class IpServlet extends HttpServlet {
  @Override
  public void doGet(HttpServletRequest req, HttpServletResponse resp)
  throws IOException {
    String ra = req.getRemoteAddr();
    resp.setContentType("text/plain");
    resp.setCharacterEncoding("UTF-8");
    resp.getWriter().write(ra);
  }
}

我希望此getRemoteAddr始终返回IPv4地址。以下答案似乎表明这是可配置的:

HttpServletRequest.getRemoteAddr() in Tomcat returns IPv6 formatted IP address

我可以以某种方式将此参数-Djava.net.preferIPv4Stack = true添加到我的Google App Engine启动命令行吗?在appengine-web.xml或web.xml中可能吗?

修改

经过一番调查后,我将以下内容添加到appengine-web.xml中的系统属性中:

<property name="java.net.preferIPv4Stack" value="true"/>

但这似乎并没有按预期发挥作用。

0 个答案:

没有答案