`
vtrtbb
  • 浏览: 354062 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ProxyPass与ProxyPassReverse及ProxyPassMatch的概述

 
阅读更多

1、ProxyPass:  

语法:ProxyPass [path] !|url

它主要是用作URL前缀匹配,不能有正则表达式,它里面配置的Path实际上是一个虚拟的路径,在反向代理到后端的url后,path是不会带过去的,使用示例:

1)、ProxyPass /images/ !

 这个示例表示,/images/的请求不被转发。

2)、ProxyPass /mirror/foo/ http://backend.example.com/

我们假设当前的服务地址是http://example.com/,如果我们做下面这样的请求:

http://example.com/mirror/foo/bar

那将被转成内部请求:

http://backend.example.com/bar

注:配置的时候,不需要被转发的请求,要配置在需要被转发的请求前面。

 

2、ProxyPassMatch:

语法:ProxyPassMatch [regex] !|url

这个实际上是url正则匹配,而不是简单的前缀匹配,匹配上的regex部分是会带到后端的url的,这个是与ProxyPass不同的。使用示例:

1、ProxyPassMatch ^/images !

这个示例表示对/images的请求,都不会被转发。

2、ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com$1

这个示例表示对所有gif图片的请求,都被会转到后端,如此时请求http://example.com/foo/bar.gif,那内部将会转换为这样的请求http://backend.example.com/foo/bar.gif。

 

3、ProxyPassReverse

语法:ProxyPassReverse [路径] url 

它一般和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.test.com/example/b。如果设置了反向代理,则会在转交HTTP重定向应答到客户端之前调整它为http://www.test.com/example/a/b,即是在原请求之后追加上了redirect的路径。

 

4、参考:

APACHE2.2中文文档:http://www.renren.it/my/api/apache_jinbuguo/Apache/ApacheMenu/mod/mod_proxy.html

本文出自:冯立彬的博客

ProxyPassMatch ^/app/files/public/orders/06_production/jobs/([a-zA-Z0-9\-]+)/Preview%20PNG/(V[0-9]+)/([a-zA-Z0-9_\-]+.png)$ http://192.168.2.42/app/files/public/orders/06_production/jobs/$1/Preview%20PNG/$2/$3

分享到:
评论

相关推荐

    Apache的ProxyPass指令详解

    Apache的ProxyPass指令详解 Apache的ProxyPass指令详解 Apache的ProxyPass指令详解

    apache+tomcat集群配置

    对apache与tomcat的集群配置进行了详细的描述。...晋级篇:正向与反向代理、访问控制、均衡策略之ProxyPass、均衡策略之ProxyPassReverse、代理struts2工程、PROXY_HTTP与PROXY_AJP的选择、集群SESSION策略

    amidGUI:AMID Rest 接口前端

    图形用户界面 AMID 休息接口的前端 在apache的httpd.conf中启动AMID并配置反向代理 埃斯: ProxyPass /mongo ProxyPassReverse /mongo

    Apache2.2整合Tomcat6所用软件包

    ProxyPassReverse / http://uambank.6677bank.com:8080/ *:80> ServerName bbs.6677bank.com ProxyPass / http://bbs.6677bank.com:8090/ ProxyPassReverse / http://bbs.6677bank.com:8090/ 3. 修改...

    Apache配置 虚拟转向实例

    80 这个一定要 然后把主的ServerAdmin丢最下面 ///////////////////// NameVirtualHost *:80 <VirtualHost> ServerName abccccc.com ProxyPass / http://localhost:8088/ ProxyPassReverse / ...

    虚拟服务器实现方法(动态均衡)

    实现方式:利用apache的 ProxyPass 可以实现对虚拟服务器的配置.(httpd.conf中)  如某公司的WWW服务器为 在httpd.conf中作如下设置:  ProxyPass /sales  ProxyPass /rd  ProxyPass /head  如上设置生效了...

    purls:个人网址缩短器

    purls.py 个人网址缩短器。 今天,我们可以在其中使用bit.ly或goo.gl或... ProxyPass /u/ http://localhost:8880/ ProxyPassReverse /u/ http://localhost:8880/ purls.py的最简单调用仅要求传递缩短的URL的域前缀。

    chatapp-front:chatapp-front与React,Node.js

    客户端使用proxypass(8000端口)与服务器进行通信,并且proxypass的默认URL为/ front / api,可以使用client / src / setupProxy进行更改。 服务器会话基于Redis。 您还可以使用docker-compose播放服务器。 客户端...

    koa-proxy-pass:一种轻量级,无依赖性的koajs代理中间件,类似于nginx的proxy_pass

    koa-proxy-pass 轻巧,无依赖性的koajs代理中间件,类似于nginx的proxy_pass。 安装 $ npm install @junyiz/koa-proxy-pass -S 用法 当您请求,它将获取并返回。...const proxyPass = require ( './koa

    反向代理模式的负载均衡配置文件

    Apache在使用反向代理模式配置负载均衡时需要注意ProxyPass指令的顺序,代码片段如下,红色的代码部分不能放到蓝色的代码上方,不然通过apache访问时会出现请求转发失败的问题。

    nginx配置、proxy_passfast 和 cgi_pass区别,反向代理,负载均衡、nginx+fastcgi+php的并发阻塞问题

    目录 1、准备两个tomcat和一个nginx ...2、反向代理proxy_pass 2.1、反向代理 2.2、反向代理-使用upstream 2.3、反向代理-负载均衡-轮循模式 2.4、反向代理-负载均衡-权重模式 2.4、反向代理-负载均衡-ip_hash方式 ...

    apache httpd

    peoxy balancer 配置 ProxyPass /11serv balancer://saleserv-cluster/ nofailover=On

    lua-modfin-srv-proxy:动态SRV记录代理的一个小实现,它替换了nginx proxy_pass和静态上游

    它旨在与DNS服务(例如领事)一起工作 地位 第一个实现已准备好进行测试。 它可以为至少更简单的用例做好准备。 特征 多个解析器 自定义解析器端口 SRV和A记录缓存 HTTP代理 代理选择策略 循环赛 随机的 IP哈希 ...

    Portal:使用AngularJs构建简单的门户

    80<VirtualHost> ProxyPreserveHost On Header set Access-Control-Allow-Origin "*" Header set Access-Control-Allow-Methods' '*' ProxyPass /sonar http://localhost:9000/sonar ProxyPassReverse /sonar ...

    一个获取知乎用户主页信息的多线程Python爬虫程序

    爬虫python入门 个获取知乎用户主页信息的多线程Python爬虫程序。 简介: ... * 使用Python内置的Thread多线程和IP代理提升爬取速度,并绕过...proxyPass = "" ``` (笔者使用一个IP代理隧道,若需要使用普通IP代理,

    APACHE 2.2.9+TOMCAT6.0.18配置负载均衡

    ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On ProxyPassReverse / balancer://cluster/ 其中的域名和路径根据你自己情况设置 然后再设置TOMCAT虚拟主机 2 配置 tomcat 2.1. 配置 ...

    TILT2:TILT的修订版,在服务器端Java图像处理和Javascript + HTML5客户端之间进行了分隔

    如果使用Apache和mod-proxy,则应将以下行添加到proxy.conf中: ProxyPass / tilt / 重试= 0 TILT以独立形式运行在TCP端口8082上,因此应该没有其他在该端口上侦听的应用程序。 作为Tomcat中的Web应用程序,它可以...

    apache+jwchat原码,自己亲测试可用

    在此有必要对proxyPass的参数做些说明 “/jwchat/http-bind/”:jwchat就通过访问http://域名/jwchat/http-bind/地址去和openfire通讯,apache接到请求后就会重新定向到http://blzc.com:7070/http-bind/ ...

    httpd-2.4.33安装(附安装包,亲测好用)

    也就是要为 /vict_service 这个请求路径匹配一个实际可用的路径,既然提示ProxyPass命令无效,那么肯定是某个地方的设置问题。 解决的方法就在httpd这个配置文件里,找到以下两条: #LoadModule proxy_module ...

Global site tag (gtag.js) - Google Analytics