反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器,简单来说就是真实的服务器不能直接被外部网络访问,所以需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境,当然也可能是同一台服务器,端口不同而已。
注:正向代理 所谓正向代理就是顺着请求的方向进行的代理,即代理服务器它是由你配置为你服务,去请求目标服务器地址。 比如我们要去访问谷歌网站,我们直接访问不通,那么我们就可以找一个代理服务器为我们服务,我们 通过代理服务器请求到谷歌网站。对于谷歌而言它只知道有一个服务器访问了自己,并不知道这件事你 是访问不了它,找了一个代理服务器访问自己。 在举一个通俗的例子。你需要钱,C正好有钱,但是你C不直接借给你。你和B关系比较好,B可以找C借 到钱。你和B沟通后,由B来找C借到钱后在给你。 上面的两个例子中的共同特点是代理服务器和B都是你找到的,为你而服务的,代表你的利益。我们还可以让代理服务器给你代理到推特、Facebook等,它是代理的你。
官方文档: https://nginx.org/en/docs/http/ngx_http_proxy_module.html
环境:
实验二、
web1机器的配置:对于物理机来讲,是没有办法直接访问到172.16.1.202这个地址的,可以使用反向代 理的方式访问,通过web01配置反向代理,把请求代理给web02机器。
查看web2的日志。访问的IP地址可以看出为172.16.1.201为web01的IP,(也就是反向代理服务器)虽 然我访问的是192网段的,帮我们代理到了172网段的,。但是实际上真正访问服务器的应该是我们的物理机,IP为192.168.26.1
最终结论:物理机192.168.26.1----->192.168.26.201 172.16.1.201 ------->172.16.1.202 如果想要统计到底有多少客户端在访问后端服务器?不管客户端IP是多少,后端服务器上显示的IP都为 反向代理服务器的IP,在做反向代理服务器的时候,要发送报文信息,我们要求在报文中携带字段,包含客户端IP,对于后端服务器而言,就可以看出到底是哪个客户端在访问。 实验三:在查看访问日志的时候能够显示到访问的真实ip。
错误信息