iframe打开本地html,为什么页面中的http请求报404?

本地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;
        }
    }
    }
阅读 4.5k
2 个回答

我接的是无插件版本的,原因是chrome浏览器的问题,chrome高版本浏览器会屏蔽iframe的cookie,而海康的无插件版本是nginx部署的,nginx里面的转发是通过获取iframe里面的cookie里存的路径进行转发的;而火狐浏览器没有这个问题。

dev 情况下你是不是没起 nginx ?

如果你想通过 dev 代理的话,需要配置 devServer

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题