2

我在 Node.js 中对 API 文档使用了招摇。现在我想使用头盔来保证安全,但是当我使用头盔时,会出现错误。但是,如果我将头盔放在路由器下方以进行招摇,那么它可以正常工作,这意味着头盔会做一些使 swagger-ui 不被加载的事情。

下面的代码是我如何使用头盔。

var helmet = require('helmet')
app.use(helmet());

下图是招摇的错误

在此处输入图像描述

修复以允许 cors 但仍然出现错误。

//allow cors
app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*"); // update to match the domain you will make the request from
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
  });
  
// use helmet
var helmet = require('helmet')
app.use(helmet());
4

1 回答 1

0

您需要启用 CORS ,以便它在响应中发送 Access-Control-Allow-Origin: * 标头。CORS 代表跨源资源共享。它向公众开放了我们打算提供的内容,以供通用 JavaScript/浏览器访问。

例子:

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "YOUR-DOMAIN.TLD"); // update to match the domain you will make the request from
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});
于 2021-02-21T04:15:25.307 回答