«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему доступ из Origin «https://example.com» заблокирован, хотя я разрешил «https://example.com/»?

Почему доступ из Origin «https://example.com» заблокирован, хотя я разрешил «https://example.com/»?

Опубликовано 8 ноября 2024 г.
Просматривать:360

Why is Access from Origin \'https://example.com\' Blocked Even Though I\'ve Allowed \'https://example.com/\'?

Доступ из Origin «https://example.com» заблокирован, хотя я разрешил «https://example.com/»

При попытке доступа к ресурсу с перекрестным происхождением разработчики часто сталкиваются с проблемами, связанными с заголовком Access-Control-Allow-Origin. Ключ к решению этих проблем лежит в понимании точного значения слова «происхождение» в контексте протокола CORS.

Концепция происхождения в CORS

В CORS, источник — это комбинация схемы, хоста (домена) и порта. Важно отметить, что он не включает путь. Таким образом, следующие два источника считаются разными:

  • https://example.com
  • https://example.com/path/to/resource

Проблема: конечные косые черты в Origins

Проблема в данном конкретном случае возникает из-за неправильного понимания определение происхождения. В частности, косая черта в конце разрешенного источника не разрешена в соответствии со спецификациями протокола CORS. В результате заголовок источника, отправленный браузером (без косой черты в конце), не соответствует разрешенному источнику, настроенному на сервере.

Решение: удалите косую черту в конце из разрешенного источника

Чтобы решить эту проблему, просто удалите косую черту в конце разрешенного значения источника в вашей конфигурации CORS. В этом случае правильным разрешенным источником будет следующий:

  • https://googledocs-clone-sbayrak.netlify.app

При этой модификации заголовок источника браузера будет соответствовать разрешенному источнику, и CORS будет успешно разрешен.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3