1. 正向代理和反向代理
正向代理和反向代理都是位于客户端和服务端之间的代理服务器。他们的区别是
正向代理
正向代理是位于客户端侧的代理服务器,隐藏了真实的客户端地址。服务端无需知道真实的客户端的地址,只需将响应返回给正向代理服务器就可以了。
反向代理
反向代理是位于服务端侧的代理服务器,隐藏了真实的服务端地址。客户端无需知道真实的服务端的地址,只需将反向代理服务器当作目标服务器一样发送请求就可以了。
正向代理和反向代理在计算机网络中各自发挥着重要的作用。正向代理主要关注客户端的访问需求和安全性,而反向代理则更注重后端服务器的负载均衡、安全性和性能优化。
2. Nginx如何实现反向代理
`11.0.1.50`是我们应用服务器,里面部署了后端程序,不对外暴露。`11.0.1.10`是反向代理服务器,对外暴露。
现在我们修改nginx的配置文件实现反向代理的功能。
vim /usr/local/nginx/conf/nginx.conf
本地(11.0.1.10)监听的依然是80端口,但是却被代理到了`11.0.1.50`的8080端口。
location / {
proxy_pass http://11.0.1.50:8080;
}
3. 再次访问
虽然访问了`11.0.1.10`的nginx,但是实际返回的结果却是`11.0.1.50`的tomcat。实现了反向代理。真实的服务端ip和端口外界并不知道。