CORS tester
Назовите URL, к которому обращаетесь, и источник, откуда обращаетесь. Мы сделаем запрос со своего сервера и скажем, какой заголовок Access-Control отсутствует или неверен.
Запрос, который вы хотите сделать
Этот инструмент работает на наших серверах. Мы делаем запрос с публичного адреса и показываем вернувшиеся заголовки, а ваши cookie и тело запроса не отправляем никогда.
Что такое CORS и что такое предварительный запрос
Браузер не даст одному источнику прочитать ответ другого, пока второй этого не разрешит. Разрешает он заголовком Access-Control-Allow-Origin в ответе. Для всего, что сложнее обычного GET или POST с рядовыми заголовками, браузер сначала спрашивает запросом OPTIONS, который называют предварительным, и отправляет настоящий запрос, только если ответ допускает метод и заголовки, которые он собирается использовать.
Как читать вердикт
Каждая строка это один заголовок, на который смотрит браузер, и рядом значение, которое пришло. Строка, помеченная как неудачная, это причина блокировки, и в шапке названа первая из них, потому что чинить надо с неё. Строки, помеченные как справочные, сами по себе ничего не меняют. Ниже приведены точный запрос, который мы отправили, и вернувшиеся заголовки, чтобы вы могли передать весь обмен тому, кто держит сервер.
Какой заголовок какую неудачу исправляет
Access-Control-Allow-Origin отправляют первым, и он должен называть ваш источник точно, вместе со схемой и портом, либо быть звёздочкой. Access-Control-Allow-Methods и Access-Control-Allow-Headers имеют значение только в предварительном запросе, и каждый обязан перечислять то, о чём спросил браузер. Access-Control-Allow-Credentials должен быть строкой true, прежде чем пойдут cookie, и не сочетается с источником-звёздочкой. Access-Control-Expose-Headers это то, что позволяет JavaScript читать что-то помимо горстки заголовков, которые браузеры отдают по умолчанию.
Перестаньте гадать, какой заголовок сервер не прислал
Заблокированный запрос снаружи выглядит одинаково, в чём бы ни было дело. Session Replay записывает запрос, заголовки ответа и строку консоли вместе, поэтому у следующего человека сразу всё перед глазами.