Я развертываю API node.js и веб-сайт на Google Compute Engine, все отлично работает на моем локальном компьютере, и они оба работают хорошо по отдельности, но всякий раз, когда я вызываю мой API, я получаю следующее:
Access to XMLHttpRequest at 'my-api-domain' from origin 'my-website-domain' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Я использую Express и использую промежуточное программное обеспечение Cors для обработки CORS, и это работает на моей машине, но, похоже, Google отключает этот тип заголовков ответов.
моя экспресс-установка
const express = require('express')
const bodyParser = require('body-parser')
const user = require('../routes/user')
const cors = require('cors')
module.exports = function(app) {
app.use(cors())
app.use(express.json())
app.use( bodyParser.json())
app.use(bodyParser.urlencoded({
extended: true
}))
}
Примечание: я попытался отправить запрос на получение API в браузер, и он работает, и я получаю access-control-allow-origin: *
в заголовках ответа!
, но когда я вызываю ту же конечную точку с веб-сайтовorigin эти заголовки не отправляются.