Nginx转发真实的IP的项目实践
作者:冯浩(grow up)
本文介绍了Nginx中通过设置proxy_set_header指令来转发请求并带上真实IP,以便Java程序能够正确获取并判断请求来源,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言
在使用nginx的时候可能会遇到判断是不是本机在做操作,这样的话web端我们是可以通过ip和端口进行远程连接的这样的话我们就需要从后端获取到真实ip来判断是不是指定的机器了,本篇文章讲解的就是怎样通过nginx转发的时候带上真实ip

给nginx.conf 设置proxy_set_header
主要是设置X-Real-IP和X-Forwarded-For 需要和后台对应上
location /device/ {
add_header Access-Control-Allow-Origin * always;
proxy_set_header Host $http_host;
proxy_set_header APIS $uri;
proxy_pass http://192.168.22.56:9090/device/;
proxy_cookie_path / "/; Secure";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
java 程序里获取
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP");
}
到此这篇关于Nginx转发真实的IP的项目实践的文章就介绍到这了,更多相关Nginx转发真实的IP内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
