我的防火墙后面有一台AXIS相机。
如果您使用相机的IP,则需要通过元刷新将您重定向到/view/index.shtml。
我试图通过网络服务器-IP /摄像头访问摄像头。我的nginx配置很简单 - 它看起来像这样:
location /camera {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://192.168.0.205:80/;
proxy_redirect default;
}
然而这不起作用 - 重定向不会发生。当我访问webserver-IP / camera时,它会将我重定向到webserver-IP / view而不是webserver-IP / camera / view。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
尝试用此行替换proxy_redirect
proxy_redirect http://192.168.0.205:80/; http://192.168.0.205:80/camera/;
我不知道你的Location
标题究竟是什么意思,但你应该明白这个想法,用主机名替换IP或重定向试图带你去的东西,你只是告诉nginx追加/camera
重定向网站要求您做的事情
答案 1 :(得分:0)
问题是轴照相机返回的html,js和css都假设您正在从http://192.168.0.205/
之类的URL访问它(只是方案和主机,没有其他/camera/
路径)
如果您查看html,则会看到类似以下内容的东西:
<script src="/incl/prototypes.js?ver=5.80.1" language="javascript" type="text/javascript"></script>
简而言之,您需要重新编写要提供的内容,以反映将要从以下位置请求的新URL:http://192.168.0.205/camera/
您可以使用sub filter:
location /camera {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_pass http://192.168.0.205:80/;
proxy_redirect default;
# nevuh fuhget where you from
sub_filter_once off;
sub_filter_types *;
sub_filter '"/' '"/camera/';
sub_filter '=/' '=/camera/';
}
取决于您的相机,您可能需要玩耍并添加更多sub_filter
行,以捕获基本路径错误指向/
的所有位置。另外,这基本上是用REGEX解析html / js / cs的注意点。