我想创建一个有用的反向代理规则(使用 Apache httpd ),以支持可与http和Web套接字一起使用的Web应用程序的动态端口。
假设我的计算机上正在运行以下服务:
所以我想通过Apache httpd服务器向Internet公开此本地URL,如下所示:
RewriteRule /mynode/myapp/45100/(.*) ws://127.0.0.1:45100/mynode/myapp/45100/$1 [P,L]
ProxypassMatch /mynode/myapp/45100/(.*) http://127.0.0.1:45100/mynode/myapp/45100/$1
ProxypassReverse /mynode/myapp/45100/(.*) http://127.0.0.1:45100/mynode/myapp/45100/$1
上面的问题是我必须明确指定本地服务的端口号45100:-(
RewriteRule /mynode/myapp/(.*)/(.*) ws://127.0.0.1:$1/mynode/myapp/$1/$2 [P,L]
ProxypassMatch /mynode/myapp/(.*)/(.*) http://127.0.0.1:$1/mynode/myapp/$1/$2
ProxypassReverse /mynode/myapp/(.*)/(.*) http://127.0.0.1:$1/mynode/myapp/$1/$2
上面的问题是变量 $ 1 (应该包含值 45100 )在将其放置在字符“ :< / strong>”。 似乎当字符“ :”与变量 $ 1 串联时,Apache httpd不喜欢。
有人知道解决第二条规则的语法吗?
非常感谢