Apache Обратный прокси с динамическими c портами - PullRequest
0 голосов
/ 25 февраля 2020

Я хочу создать полезное правило обратного прокси-сервера (с Apache httpd ) для поддержки динамических портов c для веб-приложения, которое работает с http и веб-сокетами.

Пример

Допустим, на моем компьютере запущена следующая служба:

Итак, я хочу открыть этот локальный URL для Inte rnet через Apache httpd-сервер, например:

Вот правило обратного прокси 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 моей локальной службы: - (

Вот правило обратного прокси для динамических c портов, которое не работает

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 ) создает проблему, когда он помещается сразу после символа ": ". Кажется, что Apache http d не нравится, когда символ ": " объединяется с переменной $ 1 .

Есть ли у кого-нибудь идеи решить синтаксис этого второго правила ?

Большое спасибо

...