Я хочу настроить utorrent с помощью webui на своем сервере.
Utorrent настраивает собственный веб-сервер, который по умолчанию прослушивает порт 8080.
Затем доступ к пользовательскому интерфейсу осуществляется путем доступа к example.com:8080/gui
Моя цель - иметь subdomain.server.com с использованием обратного прокси.
Проблема возникает, когда я обнаружил, что некоторые URL-адреса жестко запрограммированы в / gui / *, что, конечно, ломает вещи.
Теперь я пытаюсь удалить этот начальный / gui из запроса с помощью перезаписи мода, но по какой-то причине он не работает.
Я могу получить доступ к сайту (я получаю экран загрузки utorrent), но если я проверю свой журнал, я вижу, что все запросы к /gui/token.html
получить ответ 404 Not Found, /token.html
работает нормально, если я попробую вручную.
Я попытался переписать на прокси, но это тоже не сработало.
Вот мой файл виртуального хоста:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName subdomain.example.com
RewriteEngine on
RewriteRule ^/gui(/?)(.*)$ /$2
ProxyRequests off
ProxyPass / http://127.0.0.1:8080/gui/
ProxyPassReverse / http://127.0.0.1:8080/gui/
RequestHeader set Authorization "Basic YWRtaW46"
ErrorLog /var/log/apache2/utorrent-error.log
CustomLog /var/log/apache2/utorrent-access.log common
SSLEngine on
SSLCertificateFile /etc/ssl/certs/*.domain.crt
SSLCertificateKeyFile /etc/ssl/private/*.domain.key
SSLCACertificateFile /etc/ssl/certs/domain-ca-ssl.crt
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
<proxy http://127.0.0.1:8080/gui/*>
Order deny,allow
Deny from all
Allow from all
AuthName subdomain.example.com
AuthType Basic
AuthUserFile /etc/utorrent/.htpasswd
Require valid-user
</proxy>
</IfModule>
Оказывается, это было так же просто, как добавить флаг [PT] к перезаписи
Работал как шарм с добавленным переключателем PT
<VirtualHost *:80>
ServerName utorrent.yourdomain.com
ProxyPreserveHost on
RewriteEngine on
RewriteRule ^/gui(/?)(.*)$ /$2 [PT]
ProxyPass / http://127.0.0.1:8080/gui/
ProxyPassReverse / http://127.0.0.1:8080/gui/
</VirtualHost>