Nginx反向代理与正向代理
Nginx
Nginx是一个轻量级的、高性能的Http和反向Web服务器,同时也提供IMAP/POP3/SMTP服务。 –百度百科
正向代理
简述
正向代理只是将代理服务器作为中转节点,所有的数据不管是对于起始客户端或最终服务端,两者都是相互透明的,也就是说两者相互知道对方的存在。
例如国内用户通过代理访问一些404网站,实际上网站是知道用户的存在,用户也知道服务端的存在。
反向代理
简述
反向代理是一种将客户端请求通过转发的方式,发送至服务器端,再将服务端的请求发送至客户端。客户端与服务端是相互不透明的,也就是说客户端即不知道服务端的存在,服务端也不知道客户端的存在。客户端认为自己在与代理服务器交互,而服务端也认为自己与代理服务器交互,而实际上是客户端与服务端在交互,代理服务器只负责数据的转发,并不对数据进行处理。
但在实际应用中一般Nginx做服务器做负载均衡,会将客户端信息暴露给服务端,只有这样服务端才可根据真实的客户端信息进行业务处理。
背景介绍
存在此需求:客户端A将请求发送至服务器B,但不能向服务器B暴露自己的IP。根据以上,得出Nginx做反向代理服务器简直完美匹配。
反向代理配置
1 | |
通过以上配置即可实现需求,需要注意的是
- 并非客户端未传入的参数,代理服务器就不转发,在数据传输中,可能有多余参数被添加并被转发。如Referer