【问题标题】:apache regex and proxypassmatchapache regex 和 proxypassmatch
【发布时间】:2018-10-25 03:31:29
【问题描述】:

我正在使用 apache,需要像这样代理我的请求:

<LocationMatch "/133/2001">
      ProxyPass http://myserver.com/jtw/239.192.251.133:2001 
</LocationMatch>
<LocationMatch "/134/3001">
      ProxyPass http://myserver.com/jtw/239.192.251.134:3001 
</LocationMatch>
<LocationMatch "/135/5001">
      ProxyPass http://myserver.com/jtw/239.192.251.135:5001 
</LocationMatch>

.... 直到 /255/* 第一个子文件夹是IP,最后一个子文件夹是端口

有没有办法在一个 LocationMatch 和 Proxypassmatch 中做到这一点?

谢谢,

法比奥。

【问题讨论】:

    标签: regex linux url-rewriting apache2 proxypass


    【解决方案1】:

    如果您使用的是 Apache 2.4.8 及更高版本,则 [1] 和 [2] 的组合可以做到这一点:

    <LocationMatch "^/(?<internalIP>\d+)/(?<internalPort>\d+)$">
        ProxysPass http://myserver.com/jtw/239.192.251.%{env:MATCH_INTERNALIP}:%{env:MATCH_INTERNALPORT}
    </LocationMatch>
    

    [1]https://serverfault.com/questions/423910/is-it-possible-to-get-the-matched-regex-from-within-the-apache-locationmatch-dir

    [2]http://httpd.apache.org/docs/2.4/mod/core.html#locationmatch

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-28
      • 2016-02-26
      • 2016-03-24
      • 2010-11-15
      • 1970-01-01
      相关资源
      最近更新 更多