Tag Archives: 反向代理

Apache的ProxyPass指令详解

原文地址: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 参数 默认值 描述 [...]