
Я перепробовал несколько различных вариантов настройки обратного прокси-сервера для сетевой камеры AXIS 213PTZ на моем веб-сервере Apache, чтобы иметь возможность доступа к ней по HTTPS.
Если я использую именованный виртуальный хост, например axis.example.com, то он отлично работает с такой конфигурацией:
<VirtualHost *:80>
ServerName axis.example.com
ProxyPass / http://192.168.1.15:80/
ProxyPassReverse / http://192.168.1.15:80/
</VirtualHost>
Но поскольку мой SSL-сертификат действителен только для www.example.com, я попытался настроить обратный прокси-сервер, используя ось каталогов следующим образом:
ProxyPass /axis/ http://192.168.1.15:80/
ProxyPassReverse /axis/ http://192.168.1.15:80/
Я также попробовал более продвинутый вариант:
ProxyPass /axis/ http://192.168.1.15/
ProxyHTMLURLMap http://192.168.1.15 /axis
<Location /axis/>
ProxyPassReverse http://192.168.1.15/
SetOutputFilter proxy-html
ProxyHTMLURLMap / /axis/
ProxyHTMLURLMap /axis /axis
</Location>
Но это не работает, и я предполагаю, что это из-за следующего: Если я ввожу https://www.example.com/axis
, URL переписывается на https://www.example.com/view/index.shtml
, то есть без /axis/
части. Если я ввожу его вручную, то отображается запрос пароля с камеры, но после этого веб-сайт не найден.
Есть ли способ заставить Apache правильно переписать URL-адрес или мне нужно что-то специально учесть, поскольку камера использует страницы .shtml?