正向代理
正向代理主要是将内网的访问请求通过代理服务器转发访问并返回结果。通常客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web,需要在客户端的浏览器中设置代理服务器。
使用场景
1.局域网的代理服务器;
2.访问某个受限网络的代理服务器,如访问某些国外网站。
反向代理
客户端能访问外部的web,但是不能访问某些局域网中的web站点,此时我们需要目标网络中的一台主机做反向代理服务器来充当我们的访问目标,将局域网内部的web等站点资源缓存到代理服务器上,,客户端直接访问代理就像访问目标web一样(此代理对客户端透明,即客户端不用做如何设置,并不知道实际访问的只是代理而已,以为就是访问的目标)。
使用场景
1.idc的某台目标机器只对内开放web,外部的客户端要访问,就让另一台机器做proxy,外部直接访问proxy即相当于访问目标;
2.idc的目标机器的某个特殊的web服务工作在非正常端口如8080,而防火墙上只对外开放了80,此时可在80上做proxy映射到8080,外部访问80即相当于8080。方向代理的原理图如下:
Apache配置
我使用的是phpstudy,是这样操作的:
在http.conf开启代理模块:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
在虚拟机Apache2.4.39/conf/vhosts/vhos-80.conf里添加:
#正向代理设置
ProxyRequests On
ProxyVia On
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
具体的127.0.0.1换成对应的ip,重启apache,然后初步可以访问,再深层次的没有涉及。