【问题标题】:Express server not allowing CORS even though I'm using Access-Control-Allow-Origin *即使我使用 Access-Control-Allow-Origin,Express 服务器也不允许 CORS *
【发布时间】:2020-09-19 02:55:50
【问题描述】:

浏览器错误显示:

Access to XMLHttpRequest at <https://dev-api.mydomain.net/auth/login> from origin 'https://dev.mydomain.net' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我还尝试使用我的实际特定域'https://dev.mydomain.net'作为 Access-Control-Allow-Origin 值,但它不起作用,以及尝试使用键 'origin'。

如何让服务器接受来自我的域的请求?

import express from 'express'
import cors from 'cors'
import router from '../../routes'

const restServer = express()

restServer.use(cors({
  'Access-Control-Allow-Origin': '*'
}))

restServer.use('', router)

export default restServer

【问题讨论】:

  • 我认为这不是 CORS 中间件的合适配置,您是否看过 npmjs.com/package/cors 上的示例?如果您知道来源(并且不是为第三方使用而编写此内容),您为什么想要设置*?
  • 我尝试将其设置为确切的原点。我只是在尝试任何配置以使其正常工作。

标签: node.js express aws-lambda cors serverless


【解决方案1】:
const morgan = require('morgan');
const bodyParser = require('body-parser');
const cors = require('cors');
const app = express();

// * Logging middleware
app.use(morgan('dev'));

// * CORS headers setter
app.use(cors());

这样使用,使用CORS模块时无需手动设置'Access-Control-Allow-Origin'!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-19
    • 2015-06-17
    • 2013-12-09
    • 2021-03-17
    • 2013-09-09
    • 2019-11-25
    • 2012-03-08
    相关资源
    最近更新 更多