正向代理隐藏真实客户端,反向代理隐藏真实服务端
Nginx反向代理配置例子练习
首先安装一个resin
准备安装包,解压就可以了
![f78b7c4efb3483d4fcecda1ba80e7854.png](https://i-blog.csdnimg.cn/blog_migrate/b7e6b03babea9f34ba70b04600c2f67f.jpeg)
解压后,启动resin,可以通过浏览器访问到首页
![cf351b525d1806bb3981fa0c9a750072.png](https://i-blog.csdnimg.cn/blog_migrate/5d2ac7aebc82421b96988b8cf0792cb9.jpeg)
首页的位置文件在/resin目录/webapps/index.jsp
![1e6771b115e5d029ccbed3bf923bc77e.png](https://i-blog.csdnimg.cn/blog_migrate/461f9a89ac3b443903db0cd2b06c0084.jpeg)
编写一下index.jsp
![67ab3bf99e595ea0f96212ec73cbe153.png](https://i-blog.csdnimg.cn/blog_migrate/3926202336a155f58f4fe24d67780951.jpeg)
再次访问我们可以看到我们访问的IP
![1edb42f2be7dc6a7a164d3a2c715111a.png](https://i-blog.csdnimg.cn/blog_migrate/5cadfe5579eb44b2b09b04c0b95224cd.jpeg)
我们如果在Nginx中配置代理
![0adf1491603f48daef75c15e7de167dc.png](https://i-blog.csdnimg.cn/blog_migrate/154fcab74cfa5b89c31521554dc954ef.jpeg)
如果访问的是jsp结尾的文件 ,都会被代理到resin中
![2e345b83c8e36025197c6881b4251924.png](https://i-blog.csdnimg.cn/blog_migrate/db0321d0e574cd0ca14b0b61263b4391.jpeg)
但是我们可以看到此时获取到的ip地址是127.0.0.1
![201e93f14fc7f02346357ddb5ade875a.png](https://i-blog.csdnimg.cn/blog_migrate/a04892576e2f2f10e302a67a7481860f.jpeg)
此时我们获取的地址是Nginx的机器地址,如果想要获得客户访问的地址改怎么办呢?其中real_ip 自定义的变量名
![6e9e4d1d1e6d8fcfe8c44c64aa96cc1a.png](https://i-blog.csdnimg.cn/blog_migrate/c341618e5445cbcc47d96e4cf3210ec8.jpeg)
然后我们在resin中的index.jsp中添加配置
![6459be53a62711a8c51c97937d6d96f8.png](https://i-blog.csdnimg.cn/blog_migrate/e9c7f15a89470db798da72593e305b5a.jpeg)
这是我们在访问页面就可以发现获取了IP
![25f8d3f53ab6238084081d38af5fb6fa.png](https://i-blog.csdnimg.cn/blog_migrate/0ca72a357b9476270319e74c1b80f09c.jpeg)
负载均衡练习:
我们在日常生活中经常免不了要去一些比较拥挤的地方,比如地铁站、火车站、电影院、银行等。无论是买票,还是排队入场,这些场所一般都会设置多个服务点或者入口的。如果没有人引导的话,大多数情况下,最近的入口会挤满人,而那些距离较远的服务点或者入口就宽松很多。这个就是负载均衡,在Nginx中也可以配置练习
先配置代理
![13582775390efe37106b4290f73a5592.png](https://i-blog.csdnimg.cn/blog_migrate/5e1d02e8131a6ac031cf0a24ef5754da.jpeg)
然后配置upstream
![a1ba3a3a0790697c43417676a59ef65b.png](https://i-blog.csdnimg.cn/blog_migrate/ccacc7b124e00c59be225a19233f3d97.jpeg)
这样我们依然可以访问到
![99126e3c127f9e3575881765b61de902.png](https://i-blog.csdnimg.cn/blog_migrate/ef4b806e0351f177bb63c764671f3df4.jpeg)
但是相对于之前不一样的地方是:
下面这个地方可以再配置一台机器,weight为两台机器的权重可以都为1(代表平均,两个机器都是1),max_fails连接2次失败就认为挂了,fail_timeout超时时间
![c07711e39728167d36f92445bc01ebbc.png](https://i-blog.csdnimg.cn/blog_migrate/6b48969255facd32e0a522c00b4bc4e1.jpeg)
这里就可以做个练习,目前我们的机器是A,再配置一台机器(虚拟机)B,完成resin的安装,在A机器上的Nginx,upstream中添加一个server指向B机器的resin,在B中的resin里的index.jsp中编写获取IP的代码,然后在本地浏览器不断访问A中Nginx,观察结果。