如何解决跨域问题?

2021-03-25 16:24:44 +08:00
 huyu

我使用 koa 代理几个第三方的接口,有几个都成功了,但是有一个死活就是返回 403 Invalid CORS request,浏览器没有跨域的错误,求大佬指导以下,下面是我的代码:

const Koa = require('koa');
const {createProxyMiddleware} = require('http-proxy-middleware');
const app = new Koa();
const cors = require('koa2-cors'); // 解决本地端口不一致的跨域

app.use(cors({
  credentials: true,
  origin: 'http://127.0.0.1:8080',
  maxAge: 2592000,
  allowHeaders: '*'
}));

app.use(async (ctx, next) => {
if (ctx.url.startsWith('/config')) {
    ctx.respond = false;
    ctx.body = createProxyMiddleware({
      target: 'https://pc-api.yun.cn',
      changeOrigin: true,
      secure: false,
      pathRewrite: {
        "^/config": ""
      },
      cookieDomainRewrite: {
        '.yun.cn': '127.0.0.1',
      }
    })(ctx.req, ctx.res, next)
})

/* 代理配置 end */
const hostName = '127.0.0.1'; //本地 IP
const port = 5000; //端口
app.listen(port, hostName, () => {
  console.log(`服务运行在 http://${hostName}:${port}`);
});

// 前端
const service = axios.create({
  timeout: 5000,
  withCredentials: true
})
828 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/765070

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX