反向代理
1 什么是反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
一般情况下,Nginx在前端抗负载和处理静态页面请求,后端服务器可以挂接Apache、Tomcat、IIS等处理复杂业务的动态Web服务器。
举例形象化反向代理
客官 ------------- 客户端请求
美眉 ------------- web服务器
老板 ------------- 反向代理服务器(负载均衡)
2 反向代理服务器配置
配置流程:
通过浏览器访问server模块中的server_name对应的域名
服务器去找loacation /
需要在里边设置代理: proxy_pass + url
url: 自己编一个就可以
通过这个url的名字去找upstream模块
找到之后, 去访问该模块中server对应的地址
如图
在浏览器输入反向代理的地址:192.168.31.109,会发现,通过访问反向代理服务器,最终处理客户端请求的是后端服务器1和后端服务器2。
3 设置负载均衡
负载均衡是在反向代理的基础上做的
配置流程:
入口: server模块里边的server_name对应的域名
进入到location /
a. 发现是一个代理: 里边的proxy_pass有一个url
通过这个url的名字去找upstream
a.所有的web服务器的地址都在upstream里边
b.默认情况下会理请求的机会均等
c.也可以设置权重:
weight=数字
数字没有上限
最小值 1
如图