1、开启模块支持

首先还是http.conf开启代理模块

1
2
3
4
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

端口可以自己更改,参考文章第一句话另一篇文章

2、配置vhost站点

http代理的地址取决于你在vhost里绑定的域名或IP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/www/test"
ServerName www.test.com
ServerAlias test.com
ErrorLog "logs/test.com-error.log"
CustomLog "logs/test.com-access.log" common
Alias /sublook "D:/www/test/look/sublook/"
<Directory "D:/www/test">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#正向代理设置
ProxyRequests On
ProxyVia On

<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
</VirtualHost>

3、介绍正向代理控制方法
现在看正向代理设置那一段

ProxyRequests On:开启Apache正向代理
ProxyVia On:控制位于代理服务器链中的代理请求的流向
引用Apache2.2官方文档中对ProxyVia的解释如下:

如果设置为默认值Off ,将不会采取特殊的处理。如果一个请求或应答包含”Via:“头,将不进行任何修改而直接通过。
如果设置为On每个请求和应答都会对应当前主机得到一个”Via:“头。
如果设置为Full ,每个产生的”Via:“头中都会额外加入Apache服务器的版本,以”Via:“注释域出现。
如果设置为Block ,每个代理请求中的所有”Via:“头行都将被删除。且不会产生新的”Via:“头。

*>…```:用来控制谁可以访问你的代理
1
2
3
4
5
6
```
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>

这个和vhost的WEB控制访问一样。

这个演示配置里配置的是禁止所有人使用但是允许127.0.0.1使用