在koa2-cors设置origin后无效

今天想用koa来测试一下cors的跨域,原本以为只有当设置好了origin,这样就能限制域名访问,但是在本地环境测试后,后台koa还是能接受一切域名端口的请求。

后台koa中间件设置

  app.use(cors({
    origin: 'http://localhost:8080',
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'],
    maxAge: 5,
    credentials: true,
    allowMethods: ['GET', 'POST', 'DELETE'],
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'],
  }))

这里我设置localhost:8080才允许跨域访问,后台运行在3008端口,前端运行在3011端口,前端用axios请求数据

前端请求,端口3011下运行

this.$http.get('http://localhost:3008/test')
        .then(function (response) {
          console.log(response);
        })
        .catch(function (error) {
          console.log(error);
        });

然而很奇怪,居然可以直接访问
如图:

clipboard.png

请问这是什么原因呢

阅读 6.9k
1 个回答
新手上路,请多包涵

我尝试着回答一下吧,这个问题其实还是非常困扰的。

首先呢,有一种request叫做“simple request”,具体定义可以看MDN:

https://developer.mozilla.org...

在这种情况下,不会触发cors机制。

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