首页 > 解决方案 > VUE 3 CLI 项目正在阻止 sockjs-node 刷新调用的 CORS(在配置中使用代理进行 API 调用)

问题描述

我在 localhost 上运行 VUE 3 CLI 项目

我需要调用一个远程服务器来获取数据。浏览器阻止了这个 CORS,所以我必须学习如何在 vue 配置中设置正确的 api 标头和代理。

我的 vue.config.js 文件包含以下内容:

devServer: {
    https: true,
    proxy: {
        '^/api': {
            target: 'https://api.mysite.com/',
            ws: true,
            changeOrigin: true
        }
    }
},

这解决了我从本地主机到远程服务器的 CORS 块,但导致了标题中的问题。它现在认为对 sockjs-node 文件的调用是跨源的。

跨域请求被阻止:同源策略不允许在https://192.168.29.243:8080/sockjs-node/info?t=1615826901010读取远程资源。(原因:CORS 请求未成功)。

我似乎找不到任何原因或解决方案。有没有人遇到过这个并且知道该怎么做?

标签: vue.jsvuexvue-routervuejs3

解决方案


这为我修好了。请检查以下链接:如何修复这些 SockJS ssl 错误?

    // vue.config.js
module.exports = {
    devServer: {
        proxy: {
            "^/api": {
                target: "https://localhost:44345",
                ws: true,
                changeOrigin: true,
            },
        },
        headers: {
            "Access-Control-Allow-Origin": "*",
            "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept",
        },
        public: "http://localhost:44345",
        disableHostCheck: true,
    },
};

推荐阅读