Домой Оптимизация и учебники по WordPress Как исправить проблему Access-Control-Allow-Origin (CORS origin) для вашего сайта WordPress с поддержкой...

Как исправить проблему Access-Control-Allow-Origin (CORS origin) для вашего сайта WordPress с поддержкой HTTPS и MaxCDN

1468
0

На сайте Crunchify Business мы включили HTTPS с первого дня. Относительно недавно WordPress.com объявил о 100% -ном включении HTTPS даже для размещенных доменов на WordPress.com, и это хорошая новость.

При настройке HTTPS на сайте WordPress мы обнаружили странную проблему, посмотрев на вывод консоли Chrome . Посмотрите на скриншот ниже.

Ошибка: нет Access-Control-Allow-Origin заголовок присутствует на запрашиваемом ресурсе.

Прежде всего, я никогда не видел этого раньше ни на одном сайте WordPress.

Конечно, это не new term для нас, так как у нас есть подробное руководство по CORS origin для Java: https://crunchify.com/what-is-cross-origin-resource-sharing-cors-how-to-add-it-to-your-java-jersey-web-server/

Используя комбинацию настроек web.config и Java, вы легко решите проблему с источником CORS.

Давайте разберемся, что такое совместное использование ресурсов (CORS)?

CORS является отраслевым стандартом для доступа web resources на разных domains , Это очень важная концепция безопасности, реализуемая web browsers чтобы запретить Javascript или CSS-коду отправлять запросы другому источнику.

Давайте рассмотрим этот сценарий:

  • У вас есть ссылка с Domain1 который открывается в браузере и запрашивает файл JavaScript из Domain2 ,
  • Теперь ваш веб-браузер звонит на Domain2.
  • Если на Домене 2 у вас есть политика, позволяющая принимать запросы, такие как JavaScript или CSS, только от Домена 2 и игнорировать все запросы от других доменов , то запрос вашего браузера Domain1 будет fail with an error ,

Простое утверждение: если запрос не приходит из того же домена или источника, просто проигнорируйте его.

ЧИТАТЬ ТАКЖЕ:  WordPress Tips: как показывать самые комментируемые посты с миниатюрами

Это очень важные функции, которые предотвращают взлом и кражу ресурсов без ведома владельцев.

Посмотрите на этот скриншот с ошибкой:

Смешанный контент: страница не была загружена через HTTPS. Этот запрос был заблокирован.

Почему проблема появилась на сайте Crunchify.com?

После расследования я узнал, что я настроил http как мое происхождение URL в MaxCDN установки консоли администратора . Так должно быть https ,

Как я исправил эту ошибку?

Только что изменил URL источника с http to https и проблема решена в моем случае. Есть и другой способ исправить проблему.

Вы используете веб-шрифты от Google, Typekit и т. Д.?

Есть несколько способов использовать веб-шрифты, такие как @font-face или же CSS3 методы, некоторые браузеры, такие как Firefox & IE может отказаться от встраивания шрифта, если он идет с какого-то нестандартного стороннего URL (например, вашего блога) по той же причине безопасности.

Чтобы исправить проблему для вашего блога WordPress, просто поместите ниже в ваш файл .htaccess .

файл .htaccess

1
2
3
4
5
< IfModule mod_headers . с >
   < FilesMatch /.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ >
     Заголовок установлен AccessControlAllowOrigin *
   < / FilesMatch >
< / IfModule >

Как вы видите Access-Control-Allow-Origin "*" позволяет получить доступ ко всем ресурсам и веб-шрифтам со всех доменов.

Мы получили отличный вопрос от Андреаса о добавлении Access-Control-Allow-Origin на поддоменах

Просто добавьте следующие строки в .htaccess файл, и мы должны быть хорошими.

.htaccess

1
2
3
4
5
6
< ifmodule mod_headers . c = >
   SetEnvIf Origin ^ (. * /. домен / .com) $ ORIGIN_SUB_DOMAIN = 1 доллар
   Заголовок установлен AccessControlAllowOrigin % {ORIGIN_SUB_DOMAIN} е env = ORIGIN_SUB_DOMAIN
   Заголовок установлен ДоступКонтрольРазрешитьМетоды : *
   Заголовок установлен ДоступКонтрольРазрешитьЗаголовки : «Происхождение, X-Requested-With, Content-Type, Accept, Authorization»
< / ifmodule >

Надеюсь, это поможет вам так, как вы хотите.

Как исправить проблему Access-Control-Allow-Origin (CORS origin) для вашего сайта WordPress с поддержкой HTTPS и MaxCDN

0.00 (0%) 0 votes

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь