繁体   English   中英

apache正则表达式和proxypassmatch

[英]apache regex and proxypassmatch

我正在使用 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 中做到这一点?

谢谢,

法比奥。

如果您使用的是 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM