作为 mod_proxy 的替代品

作为 mod_proxy 的替代品

我想从 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 执行任意基于正则表达式的重写(并且还具有负载平衡功能)。

相关内容