node.js - 如何将 Cors 添加到 PostGraphile
问题描述
我正在尝试将 cors 添加到快递服务器中的 PostGraphile 路由中。
app.use(
postgraphile(process.env.DATABASE_URL || process.env.POSTGRES, ‘public’, {
watchPg: true,
graphiql: true,
enhanceGraphiql: true,
enableCors: true,
}),
);
当我试图从邮递员那里呼叫路线时,我在 Access-Control-Allow-Origin 中得到 *(通配符)。
如何添加特定路线以通过 Access-Control-Allow-Origin 返回?
解决方案
您可以在 postgraphile 之前使用cors中间件并在选项中设置原点:
const cors = require('cors');
const { postgraphile } = require('postgraphile');
const options = {
origin: 'https://your_origin',
};
app.use(cors(options));
// Enable pre-flight requests for all routes
app.options('*', cors(options));
app.use(
postgraphile(process.env.DATABASE_URL || process.env.POSTGRES, ‘public’, {
watchPg: true,
graphiql: true,
enhanceGraphiql: true,
}),
);
这会将Access-Control-Allow-Origin
标题设置为https://your_origin
推荐阅读
- qt - 如何在 Ubuntu 1804 中同时安装 Qt4 和 Qt5
- javascript - 如何仅触发一个复选框检查操作
- python - 与枚举的多对多关系
- php - PHP + Sqlsrv 内网站点中突然出现 IM004 和 08001 错误
- django - 需要 Django URL 映射场景帮助
- python - 同一类tkinter中的不同功能
- hangfire - 如何将结果从父作业传递到其延续
- c# - 如何使用 Linq 的 lambda 表达式同时查询聚合值和详细值
- javascript - TypeError:无法读取 getFeaturedImage 处未定义的属性“宽度”(related.js:24)
- java - 如何在 java 中优化这个嵌套的 for 循环?