本地nginx服务器,打开http://192.168.11.xxx本地页面,正常打开,http请求(http://192.168.11.xxx/api/... )正常
vue项目dev模式下
通过localhost:1024访问项目
项目中通过iframe链接的本地页面(http://192.168.11.xxx),可以正常打开,但http请求(http://192.168.11.xxx/api/... )报404
通过192.168.11.xxx:1024访问项目
项目中通过iframe链接的本地页面(http://192.168.11.xxx),可以正常打开,http请求(http://192.168.11.xxx/api/... )正常
是跨域问题?还是什么原理?
nginx:
server {
listen 3333;
server_name 192.168.11.49;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
root /Users/zhushao/Desktop/antai_project/atmis-ui/videoHtml;
autoindex on;
}
location ~ /ISAPI|SDK/ {
if ($http_cookie ~ "webVideoCtrlProxy=(.+)") {
proxy_pass http://$cookie_webVideoCtrlProxy;
break;
}
}
location ^~ /webSocketVideoCtrlProxy {
#web socket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
if ($http_cookie ~ "webVideoCtrlProxyWs=(.+)") {
proxy_pass http://$cookie_webVideoCtrlProxyWs/$cookie_webVideoCtrlProxyWsChannel?$args;
break;
}
if ($http_cookie ~ "webVideoCtrlProxyWss=(.+)") {
proxy_pass http://$cookie_webVideoCtrlProxyWss/$cookie_webVideoCtrlProxyWsChannel?$args;
break;
}
}
}
我接的是无插件版本的,原因是chrome浏览器的问题,chrome高版本浏览器会屏蔽iframe的cookie,而海康的无插件版本是nginx部署的,nginx里面的转发是通过获取iframe里面的cookie里存的路径进行转发的;而火狐浏览器没有这个问题。