海康视频 h5player 配置 proxy 代理websocket播放视频问题(websocket在业务系统https方式访问http的播放视频)
前言:系统网站安装了https证书,但访问无法访问海康http方式的视频资源,如下解决方案。
通过一下步骤可正常安装:
一、获取海康视频的播放ip地址,通过接口获取到地址如下(需要做处理):
# 地址结构
"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的地址进行转发。
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;}
}
三、生成海康的地址修改(有则修改,没有则忽略这步)
# 如果是存在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=
