简单说说正向代理和反向代理

先说说正向代理,也就是我们平时所说的代理,正向代理主要用来解决网络不互通的问题。比如你需要访问谷歌,但是国内作了限制,这时候就可以在浏览器里设置通过代理服务器来访问。这里的代理服务器就像一个跳板,你所有的请求都会通过该代理服务器来发起。

简单说说正向代理和反向代理_第1张图片


正向代理并不一定是在用户端设置,也可能在服务端使用。比如下面的情况,用户可以直接访问到server1上的服务,但是server1服务本身还需要访问到server2提供的服务,而server1和server2网络不通,这个时候server1就可以使用代理来访问server2。一般情况下客户都不愿意去调整网络让server1可以直接访问server2,但是一般都能提供一台服务器确保两边网络都可以访问。如果server1后台使用的是HttpClient来访问server2的,使用代理是很容易的,示例代码:httpClient.getHostConfiguration().setProxy("Proxy Server的IP", 端口号);


简单说说正向代理和反向代理_第2张图片

反向代理的使用也很广泛,常见的使用场景比如你有多个独立的服务,但是希望用户都使用80端口,这个时候就可以使用反向代理服务来实现。再比如你的服务没有外网IP,你想借用别人的域名或外网IP。反向代理服务软件常用的有Apache,Nginx等, 需要说明的是反向代理和负载均衡其实是两码事,只是反向代理服务软件一般附带了负载均衡的功能而已。反向代理的示例图如下,实际情况中很多时候网络1和网络2其实是互通的。

简单说说正向代理和反向代理_第3张图片


你可能感兴趣的:(web开发)