Я пытаюсь настроить прокси для моего локального приложения (синхронизация bittorent), используя apache2 mod_proxy_html
. Я запускаю несколько экземпляров локального приложения, каждый для другого пользователя. Чтобы получить удаленный доступ к веб-интерфейсу, мне нужно перенаправить адрес
sub.example.com/user1
в локальное приложение, которое слушает 127.0.0.1:8888
и
sub.example .com / user2
на 127.0.0.1:8889
и т. д.
В локальном приложении есть жестко заданные ссылки на / gui
, которые также необходимо перенаправить.
В моей последней попытке мне удалось запустить прокси для одного пользователя следующим образом:
<VirtualHost *:80>
ServerName sub.example.com
ProxyRequests Off
ProxyPass /user1 http://127.0.0.1:8888
ProxyPassReverse /user1 http://127.0.0.1:8888
ProxyHTMLURLMap http://127.0.0.1:8888 /user1
Redirect permanent /gui /user1/gui
</VirtualHost>
Теперь я хотел бы расширить решение для нескольких пользователей и портов, то есть примерно так:
<VirtualHost *:80>
ServerName sub.example.com
ProxyRequests Off
<Location /user1>
ProxyPass http://127.0.0.1:8888
ProxyPassReverse http://127.0.0.1:8888
ProxyHTMLURLMap http://127.0.0.1:8888 /user1
Redirect permanent /gui /user1/gui
</Location>
<Location /user2>
ProxyPass http://127.0.0.1:8889
ProxyPassReverse http://127.0.0.1:8889
ProxyHTMLURLMap http://127.0.0.1:8889 /user2
Redirect permanent /gui /user2/gui
</Location>
</VirtualHost>
, что, к сожалению, работает не так, как я планировал.
Почему бы не определить виртуального хоста пользователем, например user1.sub.example.com, user2.sub.example.com
Вы не можете определить дважды один и тот же Перенаправить постоянный в одном и том же контексте (здесь только один виртуальный хост)
.