play framework 獲取不到客戶端的ip的問題

首先檢測系統是否使用了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);



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章