Apache常见配置
代理
所谓代理,其实可以理解为url转发,主要由mod_proxy模块处理。例如:
使用apache作为域名www.test.com代理服务器,让其暴露在公网上,即DNS解析到本机器上,真正提供web服务器的是另一台位于同一内网的机器上,假设起IP是127.0.0.1,那么只需要如下配置就可以了。 ProxyPass / http://127.0.0.1/ ProxyPassReverse / http://127.0.0.1/
正向代理
客户端到服务器称之为正向代理,主要有两种配置方式:
- ProxyPass——前缀匹配
- ProxyPassMatch——正则匹配
反向代理
服务器到客户端就叫反向代理。
它一般和ProxyPass指令配合使用,此指令使Apache调整HTTP重定向应答中Location, Content-Location, URI头里的URL,这样可以避免在Apache作为反向代理使用时。后端服务器的HTTP重定向造成的绕过反向代理的问题。参看下面的示例: ProxyPass /example http://www.example.com/ ProxyPassReverse /example http://www.example.com/ ProxyPassReverse的作用就是反向代理,如果没有加这样的反向代理设置的情况下,访问http://www.test.com /example/a,如果www.example.com对请求进行了redirect至http://www.example.com/b,那么,客户端就会绕过反向代理,进而直接访问http://www.example.com/example/b。如果设置了反向代理,则会在转交HTTP重定向应答到客户 端之前调整它为http://www.test.com/example/b,通过www.test.com主机转发到www.example.com主机,即客户端完全看不到www.example.com的身影,仿佛一直和www.test.com在通信。