0

我正在尝试将 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 返回?

4

1 回答 1

1

您可以在 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

于 2021-08-12T06:23:55.047 回答