nginx后的tomcat获取真实用户ip
2024-09-24 07:16:22
目前大部分获取ip的方式:beat.getRequest().getRemoteAddr()
但是,如果通过nginx反向代理的话,就获取不到真实ip,是获取的nginx的ip
需要:添加 proxy_set_header X-Real-IP $remote_addr;
server {
listen 80;
server_name price.kuche.com;
location / {
root html;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http:backServers;
}
}
添加一个表头声明
然后这样取
public static String getRemoteAddrIp(HttpServletRequest request) {
String ipFromNginx = getHeader(request, "X-Real-IP");
System.out.println("ipFromNginx:" + ipFromNginx);
System.out.println("getRemoteAddr:" + request.getRemoteAddr());
return StringUtil.isEmpty(ipFromNginx) ? request.getRemoteAddr() : ipFromNginx;
} private static String getHeader(HttpServletRequest request, String headName) {
String value = request.getHeader(headName);
return !StringUtils.isBlank(value) && !"unknown".equalsIgnoreCase(value) ? value : "";
}
最新文章
- 设计模式C#实现(十)——桥接模式
- CSS基础知识真难啊-font
- ubuntu下Eclipse下添加GBK编码
- 【8-17】HTML测试
- sed 指令
- 传智Java基础知识测试
- Having the Result Set of a Stored Proc Sent to You by RSS Feed.
- js 对象与函数的区别
- 从零开始学android开发-详细谈谈intent的startActivityForResult()方法
- 无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass”。请改用适用的接口。
- 【HDOJ】3400 Line belt
- Java有用经验总结--Swing篇
- 掌握Chrome Developer Tools:下一阶段前端开发技术
- 如何升级laravel5.4到laravel5.5并使用新特性?
- ARM的编程模式
- PhpStorm+xdebug调试——更新
- @JsonIgnore注解可以实现不返回前端字段
- 您还差宝贝一张语文教学光盘!教你如何制作ISO文件
- Android : VLC for Android 环境搭建及编译
- 吴裕雄 06-MySQL选择数据库