Apache的ProxyPass指令详解
来源:互联网 发布:淘宝网每天的访问量 编辑:程序博客网 时间:2024/05/19 18:00
原文地址:http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass
翻译:ShiningRay
描述:将远程服务器映射到本地服务器的URL空间
语法:ProxyPass [路径] !|url [键=值 键=值 ...]] [nocanon]
上下文: server config, virtual host, directory
状态:扩展
模块:mod_proxy
该指令可以将远程服务器映射到本地服务器的URL空间;本地的服务器并不是扮演传统意义上的代理服务器的角色,而是表现为远程服务器的一个镜像。此本地服务器常被成为反向代理(reversed proxy)或者是网关(gateway)。路径是指本地虚拟路径的名字;url指远程服务器的一个部分URL,不能包含查询字符串。
注意:在使用ProxyPass指令的时候,ProxyRequests指令通常都应该是关闭的。
假设本地服务器的地址是 http://example.com/ ,那么
ProxyPass /mirror/foo/ http://backend.example.com/
将会把对http://example.com/mirror/foo/bar的本地请求内部转换成到http://backend.example.com/bar的代理请求。
其中,!指令当你不想对某个子目录进行反向代理的时候就有用了,例如:
ProxyPass /mirror/foo/i !ProxyPass /mirror/foo http://backend.example.com
将会把所有的/mirror/foo请求重定向到backend.example.com除了对/mirror/foo/i的请求。
注意:
顺序很重要:排除的指令必须在一般的ProxyPass指令之前。
和Apache 2.1一样,具备了使用到后端服务器的线程池的能力。使用“键=值”的参数便可调节线程池的分配。硬性最大值(Hard Maximum)的默认值为当前MPM中每个进程的线程数量。在Prefork MPM中,该值总是为1,在Worker MPM中,该值受ThreadsPerChild控制。
设置min可以决定有多少到后端服务器的链接始终打开。根据需要最多创建数量为柔性最大值(Soft Maximum),也就是smax的链接。任何超出smax数量的链接都会指定一个生存时间也就是ttl。Apache不会同时创建超过硬性最大值(或max)数量的到后端服务器的链接。
ProxyPass /example http://backend.example.com smax=5 max=20 ttl=120 retry=300
如果代理的指令类型以balancer://开头那么会创建一个虚拟工作单元,并不直接和后端服务器通讯。它负责对一些“真正”的工作单元进行管理。这种情况下可以给虚拟工作单元添加一系列额外参数。更多关于均衡器如何工作的信息请查看mod_proxy_balancer。
均衡器设置范例
ProxyPass /special-area http://special.example.com/ smax=5 max=10ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On<Proxy balancer://mycluster>BalancerMember http://1.2.3.4:8009BalancerMember http://1.2.3.5:8009 smax=10# 性能较弱的服务器,不要给他发送太多请求BalancerMember http://1.2.3.6:8009 smax=1 loadfactor=20</Proxy>
设置一个热备份,也就是只有当没有其他成员可用的时候才使用:
ProxyPass / balancer://hotcluster/<Proxy balancer://hotcluster>BalancerMember http://1.2.3.4:8009 loadfactor=1BalancerMember http://1.2.3.5:8009 loadfactor=2# 以下是热备份BalancerMember http://1.2.3.6:8009 status=+HProxySet lbmethod=bytraffic </Proxy>
正常情况下,mod_proxy会标准化被ProxyPass的URL。但它可能会和某些后端不兼容,尤其是那些利用了PATH_INFO的。可选的nocanon关键词可以禁止它,并不动地直接将URL路径传递给后端。注意它可能会影响到后端的安全性,因为它跳过了由代理提供的对常见的基于URL的攻击的保护。
当用在<Location>节中的时候,第一个参数应被忽略,并且本地的路径将从<Location>取得。
如果你需要更加有弹性的反向代理配置,参见是用[P]标志的RewriteRule指令。
- Apache的ProxyPass指令详解
- Apache的ProxyPass指令详解
- Apache的ProxyPass指令详解
- Apache的ProxyPass指令详解
- Apache的ProxyPass指令详解
- apache ProxyPass指令详解
- 对apache proxypass的讲解
- Apache的ProxyPass简单使用
- Apache反向代理配置负载均衡时需要注意ProxyPass指令的顺序
- apache ProxyPass
- apache ProxyPass
- apache ProxyPass ProxyPassReverse概述
- apache tomcat proxypass
- apache的ajp均衡ProxyPass的高级配置
- 使用了apache的proxypass以后总是403错误
- Apache ProxyPass出现503 Service Temporarily Unavailable 的解决
- Apache ProxyPass 出现503 Service Temporarily Unavailable 的解决方案
- Apache配置中ProxyPass与ProxyPassReverse及ProxyPassMatch的概述
- USB Masstorage设备驱动开发需要做的工作
- HDU 4679 多校8 D题 树型DP
- Bugzilla环境安装和配置手册
- 程序员的最炫民族风
- TCPIP详解学习笔记(5)-IP选路,动态选路,和一些细节.
- Apache的ProxyPass指令详解
- Flash Bulider使用多线程问题
- java获取当前时间
- 真正永久使用的电子邮件
- 新浪微博和博客有什么区别?
- 记录代码——回溯法求组合序列
- CDialog dlg; 和 CDialog *pDlg;的区别
- Android中关于Handler Message Looper 异步消息处理机制的最完整分析 从源码角度进行剖析
- struts.xml配置详解