【问题标题】:Dynamic hostname and port proxying with apache使用 apache 进行动态主机名和端口代理
【发布时间】:2016-11-22 19:04:30
【问题描述】:

是否可以像这样使用 apache 来动态代理主机名和端口:

/<PORT>/<HOSTNAME> -> http://<HOSTNAME>.domain.local:<PORT>

我试过使用ProxyPassMatch:

ProxyPassMatch "^/([0-9]+)/(host-[0-9]+)$" "http://$2.domain.local:$1"

但是 apache 抛出语法错误 AH00526。这是使用 apache 2.4.7。

【问题讨论】:

    标签: apache proxy apache2


    【解决方案1】:

    来自Apache Docs

    URL 参数必须在 正则表达式替换之前可解析为 URL (以及之后)。这限制了您可以使用的匹配项。

    我能想到的唯一解决方法是将mod_rewrite[P] 标志一起使用:

    RewriteEngine On
    RewriteRule "^/([0-9]+)/(host-[0-9]+)$" "http://$2.domain.local:$1" [P]
    

    (但这会带来性能损失,并且请记住,使用这种动态代理,您不能使用 ProxyPassReverse 来调整 HTTP 重定向响应中的 URL)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2021-08-02
      • 1970-01-01
      • 2014-12-02
      • 2019-07-25
      • 2012-03-08
      • 2021-08-30
      相关资源
      最近更新 更多