前后端分离之后,采用nginx作为静态服务器,并通过反向代理的方式实现接口跨域的方式,在降低开发成本的同时也带来了诸多问题,例如客户端真实IP的获取。 在一些特殊场景下,比如风控和支付流程,往往需要获取用户的ip信息,但是nginx反向代理在实现跨域的同时,也彻底地改变了服务端请求来源,隔离了用户和 ...
分类:
其他好文 时间:
2018-08-24 19:19:29
阅读次数:
161
nginx负载均衡由于一个Web服务同时能处理的用户并发请求的数量有限,同时还有机器故障的情况,所以一个Web站点通常会在N台机器上各部署一套同样的程序。当某一个服务挂掉的时候,还有第二个、第三个。继续为用户提供服务,给用户的感觉,你的服务还在正常的运行,同时避免一台服务器处理请求负载高,而其他的服务器又处于空闲状态,造成资源浪费nginx在upsteam中来指定多个负载均衡的真实ip地址,ser
分类:
其他好文 时间:
2018-08-16 23:00:15
阅读次数:
305
1、X-Forwarded-For的定义: X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到该项的详细介绍。 标准 ...
分类:
其他好文 时间:
2018-08-14 11:38:13
阅读次数:
190
1、squid代理: 缓存网页,减少重复请求,加快访问速度,隐藏真实ip 代理的分类: 传统代理:使用Internet和内网,客户端需明确指定代理服务器。 透明代理:使用于内网访问外网,指定代理服务器,但必须指定网关,网管配置iptables策略,将端口重定向到代理服务器端口。 2、squid和na ...
分类:
其他好文 时间:
2018-08-05 13:07:45
阅读次数:
186
Nginx的反向代理能非常强大,可以配置多层反向代理,多层代理中最关心的就是客户端IP的信息传递情况,当我们遇到问题后,分析日志是解决问题最有效的途径之一,涉及代理时我们肯定会分析源IP,目标IP等信息,查看相关的异常。本次实例就通过两层Nginx反向代理,模拟一下其客户端IP的传递信息。实验环境: 操作系统 : Centos
分类:
其他好文 时间:
2018-08-04 16:42:51
阅读次数:
680
一般情况下,我们可以使用 request 的 getRemoteAddr() 方法获取客户端实际 IP ,但是使用反向代理后,我们使用 getRemoteAddr() 是无法获取真实的 IP 的。 经过代理之后,客户端和服务端之间加了一个中间层,在转发请求的HTTP头部增加了 x-forwarded ...
分类:
编程语言 时间:
2018-08-03 16:20:29
阅读次数:
124
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反 ...
分类:
编程语言 时间:
2018-07-20 11:39:02
阅读次数:
175
前端Nginx,后端Apache获取用户真实IP地址最近在将Apache-2.2和Apache-2.4添加到《lnmp一键安装包》中,Nginx作为前端,Apache作为后端的情况下,Apache只能获取到Nginx前端的ip地址(127.0.0.1),而无法获取到用户的真实ip地址,在这种情况下,后端是Apache如何获取用户真实IP地址?Nginx配置如下:location/{try_file
分类:
Web程序 时间:
2018-07-16 12:24:50
阅读次数:
259
在开发工作中,我们常常需要获取客户端的IP。一般获取客户端的IP地址的方法是:request.getRemoteAddr();但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 原因:由于在客户端和服务之间增加了中间代理,因此服务器无法直接拿到客户端的IP,服务器 ...
分类:
编程语言 时间:
2018-07-15 11:13:04
阅读次数:
4297
有时候eureka.instance.prefer-ip-address=true不管用,解决办法如下。 ...
分类:
其他好文 时间:
2018-07-12 13:07:48
阅读次数:
184