apache regex и proxypassmatch - PullRequest
       47

apache regex и proxypassmatch

0 голосов
/ 24 октября 2018

Я использую 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>

.... till / 255 / * Первая подпапка - IP, а последняя подпапка - порт

Есть ли способ сделать это в одном LocationMatch и Proxypassmatch?

Спасибо,

Фабио.

1 Ответ

0 голосов
/ 24 октября 2018

Если вы используете 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

...