Я использую 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?
Спасибо,
Фабио.
Если вы используете 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