反向代理,Reverse Proxy,是指通过代理服务器来接收来自Internet上的请求,然后将这些请求转发给内部网络的服务器,并将内部服务器返回的结果回传给Internet上请求的客户端。此时代理服务器对外就表现为一个服务器。当一个代理服务器能够代理外部网络上的访问请求来访问内部网络时,这种代理服务的方式称为反向代理服务。
反向代理的工作方式如下图所示:
1、一个简单的反向代理实例
通过Nginx可以非常简单的实现反向代理的功能。Nginx通过调用proxy_pass模块来实现反向代理。
一个简单的反向代理实例
当前环境:
- 主机A:IP地址为192.168.0.110,Nginx版本为1.14.2
- 主机B:IP地址为192.168.0.106,Nginx版本为1.14.2
我们将主机A设置为代理服务器,主机B为后端服务器。
在为配置反向代理时主机A上的Nginx配置(仅展示简单的server和location配置):
server { listen 80; server_name localhost 192.168.0.110; charset utf-8; location / { root /myweb; index index.html index.htm; } }