我在Node.js中使用swagger作为API文档。现在我想使用helmet来保护安全,但是当我使用helmet时,错误发生了。但是,如果我将helmet放在swagger路由器下面,那么它就可以正常工作,这意味着helmet做了一些事情,使得swagger-ui无法加载。
下面的代码是我如何使用 Helm 。
var helmet = require('helmet')
app.use(helmet());
字符串
下图是swagger的错误
x1c 0d1x的数据
修复允许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());
型
2条答案
按热度按时间oalqel3c1#
您需要启用CORS,这样它就会在响应中发送E-Control-Allow-Origin:* 头。CORS代表跨源资源共享。它将我们打算服务的内容开放给公众,以便通用JavaScript/浏览器访问。
举例说明:
字符串
yx2lnoni2#
在设置HelmetJS中间件之前,始终确保渲染Swagger UI模板,以避免出现问题。
字符串
resource