Що таке помилка CORS?

pic

Помилка CORS (Cross-Origin Resource Sharing) — це механізм безпеки браузера, який обмежує можливість відправляти запити з одного домену (origin) на інший. Якщо сервер не налаштує політику CORS правильно, браузер заблокує запит, і виникне CORS error.

Помилка CORS зазвичай виникає під час розробки програмного забезпечення і є однією з найпоширеніших помилок. Її основна причина полягає в тому, що фронтенд, який знаходиться на одному домені, відправляє запити до бекенду, що знаходиться на іншому домені, тобто здійснюється звернення через API.

Приклад: ви перебуваєте на фронтенді сайту https://example.uz, і вам потрібно звернутись до API бекенду, який знаходиться на https://exml.uz. Коли ви відправляєте запит, ваш браузер видасть помилку CORS через різницю в доменах.

Ця помилка найчастіше трапляється при використанні методів, відмінних від GET. Перевірка в браузері здійснюється для забезпечення безпеки між доменами, щоб запобігти надмірним або неналежним запитам між різними доменами.

Рішення:

  1. Налаштувати CORS на бекенді;
  2. Додати proxy на фронтенді (наприклад, в React, Vue);
  3. Виправити налаштування nginx на сервері, де знаходиться бекенд.

Ці рішення можуть допомогти в специфічних випадках. Якщо ви фронтенд-розробник, ця помилка часто виникає, коли ви робите запит з localhost на домен, де знаходиться бекенд. Якщо ваш фронтенд буде розміщений на тому ж домені в production, найкраще рішення для вас — це використання proxy (два методи).

Перекладено з: CORS error nima?

Leave a Reply

Your email address will not be published. Required fields are marked *