Apache作为老牌的前端中间件,目前仍被广泛使用。最近有需求需要使用apache做为小规模应用的正向代理服务器,需要严格控制代理白名单、访问白名单、禁止访问黑名单等功能。
1.开启代理
conf目录下配置文件httpd.conf,通过调整此文件配置所有参数。在配置文件后增加一下代码开启正向代理:
ProxyRequests On ProxyVia On2.禁止访问
通过通配符配置,禁止所有访问:
<Proxy *> Order deny,allow Deny from all </Proxy>3.开启独立域名白名单访问
下游应用控制个别域名可访问,其他禁止访问,通过域名+端口的方式实现:
proxy后跟着是允许通过的规则,可以支持通配符配置,例如*.toutiao.com,以上案例通过域名和端口固定通过的白名单域名,适用一下规则,仅允许一下ip通过:192.168.100.0,整个IP段运行通过。
提醒:
如果多个域名,在同一区块如果通过逗号隔开配置,apache是识别不了的,会出现一下错误提醒:
<Proxy mp.toutiao.com:443,mp...com:443> Order deny,allow Deny from all Allow from 192.168.100.0/255.255.255.0 </Proxy>通过服务器curl测试访问:,返回错误,log产生错误日志:
curl: (56) Received HTTP code 403 from proxy after CONNECT解决以上问题,需要多个区块单独分别配置,例如:
<Proxy mp.toutiao.com:443> Order deny,allow Deny from all Allow from 192.168.100.0/255.255.255.0 </Proxy> <Proxy mp...com:443> Order deny,allow Deny from all Allow from 192.168.100.0/255.255.255.0 </Proxy>