背景
代理(Proxy),位于客户端与实际服务端之间,当客户端需要请求服务端内容时,先向代理发起请求,代理将请求转发到实际的服务器,再原路返回。也可以在代理服务器设置缓存,将实际服务器上不常变化的内容进行缓存,当客户端请求到达时,直接返回,可以提高响应速度,减少不必要的网络访问。
- 正向代理(Forward Proxy), 这种代理方式对于客户端来说:
1. 知道实际需要访问的服务端的地址
2. 需要针对代理服务器做特殊配置
- 反向代理(Reverse Proxy),这种代理方式对于客户端来说:
1. 不知道实际需要访问的服务器的地址,只知道代理的地址
2. 无需针对代理做特殊配置
正向代理通常的应用场景是对于局域网访问外网内容时,由于向外的网络限制,比如防火墙等,需要配置正向代理。客户端通常位于局域网内。
反向代理,普遍应用于Web应用,代理服务器将客户端的实际请求向后转发至实际的后端应用服务器。服务端通常位于局域网内。
----------------------------------------------------------
Apache httpd Server 配置正向代理
httpd.conf文件
- LoadModule 配置
必须:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
可选:
LoadModule proxy_http_module modules/mod_proxy_http.so(For HTTP Request)
LoadModule proxy_connect_module modules/mod_proxy_connect.so(For HTTPS Request)
and so on…
- ProxyRequests配置
ProxyRequests On
- ProxyVia 配置
ProxyVia On
- <Proxy> 配置,限定可访问的源,由于是正向代理,需要限制可以通过此代理服务器向外访问的客户端请求,如:
<Proxy "*">
Order deny,allow
Deny from all
Allow from 192.168.255.0/24
</Proxy>
表示对于所有的请求(“*”),只允许从192.168.255.0/24网段发起。