前言:系统网站安装了https证书,但访问无法访问海康http方式的视频资源,如下解决方案。
通过一下步骤可正常安装:
一、获取海康视频的播放ip地址,通过接口获取到地址如下(需要做处理):
bash
# 地址结构
"url": "wss://网站域名:网站端口/proxy/海康视频IP:海康视频端口/openUrl/AqpVY08"
# 1、海康获取到的源url为:ws://192.168.110.11:559/openUrl/AqpVY08
# 2、需要通过字符串处理,把ws://后面的信息截取出来
# 3、然后把通过自己的本地域名,拼接海康的url进行整合
# 4、最后生成实例:"url": "wss://wwwp.xxxx.com:80/proxy/192.168.110.11:559/openUrl/AqpVY08"
二、后端配置nginx代理方式:
1、配置proxy_headers_hash_max_size和proxy_headers_hash_bucket_size,如果不配置重启Nginx会有警告。值尽量设置大一些
2、/proxy/ 的代理配置,需要结合url的地址进行转发。
nginx
http {
proxy_headers_hash_max_size 1024;
proxy_headers_hash_bucket_size 512;
# 海康平台配置,只能配置成proxy,需要和前端的代码对接
location /proxy/ {
proxy_pass http://192.168.110.11:559;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_buffering off;
proxy_redirect off;
}
}
三、生成海康的地址修改(有则修改,没有则忽略这步)
bash
# 如果是存在proxy=wss需要把后面的这段去掉,如果没有则忽略
# 源url:http://x.x.x.x:p/media?version=1.0&cipherSuites=0&sessionID=&proxy=wss:
# 改成url:http://x.x.x.x:p/media?version=1.0&cipherSuites=0&sessionID=