我还没有尝试过几种不同的方式来在我的 Apache 网络服务器上为 AXIS 213PTZ 网络摄像机设置反向代理,以便能够通过 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 页面?