企业——通过nginx的反向代理实现获取用户的真实ip

1.什么是nginx的反向代理获取客户端的真实ip?

我们访问互联网的服务时,大多数,客户端并不是 直接访问到服务器的,而是客户端首先请求到反向代理,反向代理再转发到服务器端实现服务访问,通过反向代理实现路由/负载均衡等策略。这样在服务端拿到的客户端ip是反向代理服务器的ip,而不是真实的客户端ip,因此需要想办法来获取真实客户端ip
访问流程:
client(192.168.43.20) -> ADSL(192.168.43.1) ->cdn(10.0.0.1) ->SLB(11.0.0.1反向代理4层) -> server(nginx)12.0.0.1
可以看出,服务端根本获取不到真实的客户端ip,只能获取到上一层服务的ip,nginx服务端怎样来获取真实的客户端ip呢??

2.为什么服务端要解析客户端的ip?

前后端分离之后,采用nginx作为静态服务器,并通过反向代理的方式来实现接口跨域的方式,在降低开发成本的同时也带来了诸多问题,例如客户端真实ip的获取;在一些特殊场景下,比如风控和支付流程,往往需要获取用户的ip信息,但是nginx的反向代理实现跨域的同时也彻底改变了服务器的请求来源,隔离了用户和服务器的连接,这不是我们想要的,因此对于客户ip的解析是必要的

3.获取客户端真实ip的方法

采用nginx的realip模块来实现;
我们来看一下如何使用realip模块,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
接下来编辑配置文件:

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
在这里插入图片描述

/usr/local/nginx/sbin/nginx -s reload  ##重启nginx

现在开始测验结果:
首先配置域名解析

vim /etc/hosts

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值