具有动态端口的Apache反向代理

时间:2020-02-25 14:16:05

标签: apache reverse-proxy httpd.conf

我想创建一个有用的反向代理规则(使用 Apache httpd ),以支持可与http和Web套接字一起使用的Web应用程序的动态端口。

一个例子

假设我的计算机上正在运行以下服务:

所以我想通过Apache httpd服务器向Internet公开此本地URL,如下所示:

这是一个运行正常的Apache反向代理规则

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不喜欢。

有人知道解决第二条规则的语法吗?

非常感谢

0 个答案:

没有答案