Nginx学习之简单练习反向代理和负载均衡

正向代理隐藏真实客户端,反向代理隐藏真实服务端

Nginx反向代理配置例子练习

首先安装一个resin

准备安装包,解压就可以了

Nginx学习之简单练习反向代理和负载均衡

解压后,启动resin,可以通过浏览器访问到首页

Nginx学习之简单练习反向代理和负载均衡

首页的位置文件在/resin目录/webapps/index.jsp

Nginx学习之简单练习反向代理和负载均衡

编写一下index.jsp

Nginx学习之简单练习反向代理和负载均衡

再次访问我们可以看到我们访问的IP

Nginx学习之简单练习反向代理和负载均衡

我们如果在Nginx中配置代理

Nginx学习之简单练习反向代理和负载均衡

如果访问的是jsp结尾的文件 ,都会被代理到resin中

Nginx学习之简单练习反向代理和负载均衡

但是我们可以看到此时获取到的ip地址是127.0.0.1

Nginx学习之简单练习反向代理和负载均衡

此时我们获取的地址是Nginx的机器地址,如果想要获得客户访问的地址改怎么办呢?其中real_ip 自定义的变量名

Nginx学习之简单练习反向代理和负载均衡

然后我们在resin中的index.jsp中添加配置

Nginx学习之简单练习反向代理和负载均衡

这是我们在访问页面就可以发现获取了IP

Nginx学习之简单练习反向代理和负载均衡

负载均衡练习:

我们在日常生活中经常免不了要去一些比较拥挤的地方,比如地铁站、火车站、电影院、银行等。无论是买票,还是排队入场,这些场所一般都会设置多个服务点或者入口的。如果没有人引导的话,大多数情况下,最近的入口会挤满人,而那些距离较远的服务点或者入口就宽松很多。这个就是负载均衡,在Nginx中也可以配置练习

先配置代理

Nginx学习之简单练习反向代理和负载均衡

然后配置upstream

Nginx学习之简单练习反向代理和负载均衡

这样我们依然可以访问到

Nginx学习之简单练习反向代理和负载均衡

但是相对于之前不一样的地方是:

下面这个地方可以再配置一台机器,weight为两台机器的权重可以都为1(代表平均,两个机器都是1),max_fails连接2次失败就认为挂了,fail_timeout超时时间

Nginx学习之简单练习反向代理和负载均衡

这里就可以做个练习,目前我们的机器是A,再配置一台机器(虚拟机)B,完成resin的安装,在A机器上的Nginx,upstream中添加一个server指向B机器的resin,在B中的resin里的index.jsp中编写获取IP的代码,然后在本地浏览器不断访问A中Nginx,观察结果。


分享到:


相關文章: