![作为 mod_proxy 的替代品](https://linux22.com/image/531190/%E4%BD%9C%E4%B8%BA%20mod_proxy%20%E7%9A%84%E6%9B%BF%E4%BB%A3%E5%93%81.png)
我想从 apache ReverseProxy 切换到 pound。
我的问题是:我的 proxy.conf 中有类似以下规则:
ProxyPass /laleluhttp://internale/NOT_Lalelu
现在,我无法弄清楚如何“映射”这一点。
我只能:
Service
URL "/lalelu"
Backend
Adress internal
Port
End
End
我是对的吗,或者有没有办法将目录映射到根目录或另一个目录?
谢谢
答案1
Pound 确实快速、稳定且简单。我发现 BackEnd(代理)和 Redirect 就是我们所需要的。Pound 的 Redirect 子句采用正则表达式。
HTTP 重定向与 ProxyPass 不同(因为它们不会向用户隐藏映射),但它可能也适合您。
对于你的例子来说,它将是:
Service
URL "^/lalelu"
http://internale/NOT_Lalelu
End
Service
URL "/NOT_Lalelu"
Backend
Adress internal
Port
End
End
以下是我们使用的一些其他示例:
Service
HeadRequire "^Host: fmspbm\.ucr\.edu$"
URL "^/?$"
Redirect "http://fmspbm.ucr.edu/binplone"
End
或者
Service
URL "^/(~|%7E)userxyz"
HeadRequire "^Host: biocluster\.ucr\.edu$"
Redirect "http://biocluster.ucr.edu/~userx"
End
答案2
使用 Apache 的优势是您可以获得出色的 URL(和内容)重写功能。
如果你出于性能原因而放弃使用mod_proxy
,你可能需要看看漆,尽管 Varnish 本身不支持 SSL(典型的解决方案是使用 stunnel、Pound 或 Apache 来提供 SSL 服务)。Varnish 可以对 URL 执行任意基于正则表达式的重写(并且还具有负载平衡功能)。