Apache配置反向代理

Apache的反向代理功能虽然没有Nginx强大,但也是Apache提供的功能之一,当你的服务器因过多的历史包袱而不能切换到Nginx或因技术原因而不能熟练使用Nginx时,它也许会派上大用场。

配置中涉及到的主要指令:

ProxyPass 代理
ProxyPassMatch 区别于ProxyPass就只是匹配方式是通过regex,其他类似
ProxyRequests 正向代理开关
ProxyPassReverse 反向代理,修改返回的http header信息
ProxyPreserveHost 反向代理,是否修改请求的header信息
ProxyPassReverseCookieDomain 修改Cookie的域信息
ProxyPassReverseCookiePath 修改Cookie的路径信息

假定我们要把对/foo和/bar的请求定向到后端的http://localhost:8080/foo和http://localhost:8080/bar,配置文件如下:

ProxyPass /foo/ http://localhost:8080/foo/
ProxyPassReverse /foo/ http://localhost:8080/foo/
ProxyPassReverseCookieDomain http://localhost:8080 http://www.somesite.com
ProxyPassReverseCookiePath / /foo/

ProxyPass /bar/ http://localhost:8080/foo/
ProxyPassReverse /bar/ http://localhost:8080/bar/
ProxyPassReverseCookieDomain http://localhost:8080 http://www.somesite.com
ProxyPassReverseCookiePath / /bar/

如果使用ProxyPassMatch,则为

ProxyPassMatch ^/(foo|bar)/.*$ http://localhost:8080

而按照Apache的官方文档配置为:

ProxyPassMatch ^/(foo|bar)/(.*)$ http://localhost:8080/$1/$2

则是错误的,这算是Apache文档的一个坑吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值