@luckyjenro0

Почему CORS не пропускает запрос на другой домен?

Есть сервер с nginx, nodejs.
Есть клиент, с которого через axios я отправляю запрос на сервер.

ВАЖНО! Клиент и сервер на разных ip и доменнах.

Вот nodejs:
const corsOptions = {
    origin: "https://blamegrief.ru",
    allowedHeaders: [
        "Content-Type",
        "Authorization",
        "Access-Control-Allow-Methods",
        "Access-Control-Request-Headers",
        "Access-Control-Allow-Origin",
    ],
    credentials: true,
    enablePreflight: true,
};
app.use(function(req, res, next) {
    res.setHeader("Access-Control-Allow-Origin", "https://blamegrief.ru");
    res.setHeader("Access-Control-Allow-Headers", "origin, content-type, accept");
    next();
});
app.use(cors(corsOptions));
app.options("*", cors(corsOptions));


Вижу что в логах на сервер запрос OPTIONS проходит отлично (200).

62fe410405fb4346055084.png
62fe411856c05296549474.png

Но, ошибка:

has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource
  • Вопрос задан
  • 242 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
В ответ на запрос OPTIONS должны вернуться CORS-заголовки. У вас в ответе их нет.
И ставить Access-Control-Allow-Origin в заголовки запроса бессмысленно, это заголовок только для ответа.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы