1

Тема: Як побороти CORS в браузері Chrome або іншому

Коротко про суть проблеми: маю сайт на WordPress з SSL сертифікатом та локальну копію, яка хоститься через AMMPS з відміткою Add an SSL entry, що дозволяє локально створювати фейковий SSL сертифікат. Проблема з'являється коли починаю різні віджети з реального сайту собі на локальний, так як браузер Chrome постійно скаржиться на проблеми з CORS і не дає тягнути скрипти ззовні

Помилка виглядає десь таким чином:

Access to XMLHttpRequest at 'https://site.com/oauth/token' from origin 'https://site.loc' 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.

Пан Гугленко рекомендує запускати Хром з відключеною секюрністю такою командою

open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security

Але мені це ніяким чином не допомгло

Хто знає як воювати з такою проблемою?

2

Re: Як побороти CORS в браузері Chrome або іншому

Якщо AMMPS - це Apache, то може це на локальній копії поможе: https://enable-cors.org/server_apache.html

Подякували: karmeljuk, leofun012

3

Re: Як побороти CORS в браузері Chrome або іншому

karmeljuk написав:

Access to XMLHttpRequest at 'https://site.com/oauth/token' from origin 'https://site.loc' has been blocked by CORS policy

Ваш скріпт (той що локальний, на site.loc) повинен відправляти запити
не на "https://site.com/oauth/token",
а на "https://site.loc/oauth/token".
Використовуйте посилання, які не привязані до доменного імені
("/oauth/token"), тоді такої проблеми не буде.

Подякували: koala, karmeljuk2

4

Re: Як побороти CORS в браузері Chrome або іншому

У вас різні сайти, з цього і проблема. Поставте собі на site.loc власний сертифікат, тоді хром не буде лаятися. Наприклад,
приблизно так.

Подякували: leofun01, karmeljuk2

5

Re: Як побороти CORS в браузері Chrome або іншому

leofun01 написав:
karmeljuk написав:

Access to XMLHttpRequest at 'https://site.com/oauth/token' from origin 'https://site.loc' has been blocked by CORS policy

Ваш скріпт (той що локальний, на site.loc) повинен відправляти запити
не на "https://site.com/oauth/token",
а на "https://site.loc/oauth/token".
Використовуйте посилання, які не привязані до доменного імені
("/oauth/token"), тоді такої проблеми не буде.


Дякую
Але є одне але: адреси https://site.loc/oauth/token не існує і не планується поява

6

Re: Як побороти CORS в браузері Chrome або іншому

karmeljuk написав:

адреси https://site.loc/oauth/token не існує і не планується поява

Тоді залишається тільки 1 варіант - бавитися з заголовками для CORS, як пропонував bunyk.

Або розкажіть детальніше, в чому проблема обробляти запити на локальному веб-сервері, тобто чому не можна створити "https://site.loc/oauth/token" ?

7

Re: Як побороти CORS в браузері Chrome або іншому

bunyk написав:

Якщо AMMPS - це Apache, то може це на локальній копії поможе: https://enable-cors.org/server_apache.html

Написав в .htaccess

Header set Access-Control-Allow-Origin "*"

Помилка аналогічна

Access to XMLHttpRequest at 'https://site.com/oauth/token' from origin 'https://site.loc' 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.

Локальну копію https://site.loc/oauth/token зробити не вийде

8

Re: Як побороти CORS в браузері Chrome або іншому

karmeljuk написав:
bunyk написав:

Якщо AMMPS - це Apache, то може це на локальній копії поможе: https://enable-cors.org/server_apache.html

Написав в .htaccess

Header set Access-Control-Allow-Origin "*"

Помилка аналогічна

Access to XMLHttpRequest at 'https://site.com/oauth/token' from origin 'https://site.loc' 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.

Локальну копію https://site.loc/oauth/token зробити не вийде

Блін, перепрошую. Я неправильно прочитав повідомлення про помилку. Allow-Origin треба врубати не на site.loc а на site.com. Можна не на * а на site.loc, якщо треба трохи безпечніше. Якщо над цим нема контролю, то є проксі які це роблять, типу https://github.com/Rob--W/cors-anywhere/

Подякували: leofun011

9

Re: Як побороти CORS в браузері Chrome або іншому

Вирішив через  FireFox, розпишу якщо кому цікаво як