Я хочу создать полезное правило обратного прокси-сервера (с 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 .
Есть ли у кого-нибудь идеи решить синтаксис этого второго правила ?
Большое спасибо