nginx--Nginx转发真实的IP

Nginx转发真实的IP

  • 前言
  • [给nginx.conf 设置proxy_set_header](#给nginx.conf 设置proxy_set_header)
  • [java 程序里获取](#java 程序里获取)

前言

在使用nginx的时候可能会遇到判断是不是本机在做操作,这样的话web端我们是可以通过ip和端口进行远程连接的这样的话我们就需要从后端获取到真实ip来判断是不是指定的机器了,本篇文章讲解的就是怎样通过nginx转发的时候带上真实ip

给nginx.conf 设置proxy_set_header

主要是设置X-Real-IP和X-Forwarded-For 需要和后台对应上

javascript 复制代码
		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 程序里获取

javascript 复制代码
 String ip = request.getHeader("x-forwarded-for");
 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
            ip = request.getHeader("X-Real-IP");
   }
相关推荐
运维行者_22 分钟前
应用性能监控怎么选?从调用链到用户体验的五个能力维度
运维·服务器·数据库·人工智能·mysql·性能优化·应用性能监控
考虑考虑5 小时前
nginx路由重写
运维·后端·自动化运维
Zenova EdgeOS6 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
ESDWAN6 小时前
海外系统偶尔打不开,怎么区分 DNS 异常与网络连接故障?
tcp/ip·https
郝亚军7 小时前
ec_private.pem的生成方法
linux·运维·服务器
昂好的day7 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
NendoZen7 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
Elastic 中国社区官方博客8 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌9 小时前
进程控制管理
linux·运维·服务器
Escalating_xu9 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip