Httpd实现正向代理和反向代理

  1. 1.    什么是正向代理?

 在NAT技术(Network Address Translation)出现之前,所有主机无法直接与外网相连,要想上网,需要连接到一台能够访问外网的Web服务器,再通过这台服务器访问外网。而这台Web服务器就叫做“正向代理服务器”。

现在的“FQ”技术也是如何,我们把请求发给一台可以连接外面世界的Web服务器,由它转发我们的请求,再将结果返回给我们。这台Web服务器就是“正向代理服务器”。

综上所述:正向代理服务器是客户端和目的服务器之间的一个中介,客户端通过正向代理服务器访问客户端原本无法访问的目标服务器。

 

  1. 2.    什么是反向代理?

 客户端向一个服务器A提交请求后,服务器A偷偷地去服务器B上获取资源,并返回给客户端。客户端天真地以为数据是服务器A给他的。在这过程中,服务器A称为“反向代理服务器”,服务器B称为反向代理服务器的“后端服务器”。

  1. 3.    区别

两者最直观的区别是在用户的角度。“正向代理”是用户使用的技术。用户首先是知道自己要访问的目标服务器是谁,但由于某种原因无法直接访问该目标服务器,因此选择使用正向代理服务器帮忙转发请求。

而“反向代理”是服务器使用的技术。用户向服务器发送请求后,服务器在用户不知情的情况下去其他服务器上获取资源并返回给用户。

 

示例:

 

三台主机:

A客户端:192.168.6.129

B反向代理服务器:192.168.6.130

C后台服务端192.168.6.131

1  在B反向代理服务器:192.168.6.130配置文件中/etc/httpd/conf.d/test_ssl.conf
2  ProxyPass "/" "http://192.168.6.131/"
3  ProxyPassReverse "/" "192.168.6.131/"

2.    重启httpd服务器
      Systemctl restart httpd
3.    在A客户端:192.168.6.129上访问

192.168.6.130反向代理服务器上日志捕捉到192.168.6.129的请求

实际上是192.168.6.130背后向192.168.6.131请求服务并返回192.168.6.131给192.168.6130的信息资源,192.168.6.130再将信息资源呈现给192.168.6.129客户端

附加:

实现指定的URL转发可以加入对应的信息,比如:baidu
    
vim /etc/httpd/conf.d/test.conf
ProxyPass "/baidu" " https://www.baidu.com/"                                                                                                          
ProxyPassReverse "/baidu" " https://www.baidu.com/"

 

1.    
A客户端:192.168.6.129上访问

posted @ 2020-08-28 14:55  呱牛。  阅读(455)  评论(0)    收藏  举报