首先檢測系統是否使用了nginx代理,如果使用的話,需要配置nginx代理,添加如下配置
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
然後在play框架中使用如下獲取ip地址:
String ip=request.headers.get("x-real-ip").value();
String ips[] = ip.split(",");
String ipAddress=ips[0].trim();
或者
Header ipHeader=request.headers.get("x-real-ip");
String ipAddress= ipHeader.values.get(0);