Содержание
- 1 Давайте разберемся, что такое совместное использование ресурсов (CORS)?
- 2 Почему проблема появилась на сайте Crunchify.com?
- 3 Как я исправил эту ошибку?
- 4 Вы используете веб-шрифты от Google, Typekit и т. Д.?
- 5 Мы получили отличный вопрос от Андреаса о добавлении Access-Control-Allow-Origin на поддоменах
На сайте 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,
Простое утверждение: если запрос не приходит из того же домена или источника, просто проигнорируйте его.
Это очень важные функции, которые предотвращают взлом и кражу ресурсов без ведома владельцев.
Посмотрите на этот скриншот с ошибкой:
Смешанный контент: страница не была загружена через HTTPS. Этот запрос был заблокирован.
Почему проблема появилась на сайте Crunchify.com?
После расследования я узнал, что я настроил http как мое происхождение URL в MaxCDN установки консоли администратора . Так должно быть https ,
Как я исправил эту ошибку?
Только что изменил URL источника с http to https и проблема решена в моем случае. Есть и другой способ исправить проблему.
Вы используете веб-шрифты от Google, Typekit и т. Д.?
Есть несколько способов использовать веб-шрифты, такие как @font-face или же CSS3 методы, некоторые браузеры, такие как Firefox & IE может отказаться от встраивания шрифта, если он идет с какого-то нестандартного стороннего URL (например, вашего блога) по той же причине безопасности.
Чтобы исправить проблему для вашего блога WordPress, просто поместите ниже в ваш файл .htaccess .
|
1
2
3
4
5
|
< IfModule mod_headers . с >
< FilesMatch /.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$ >
Заголовок установлен Access — Control — Allow — Origin *
< / FilesMatch >
< / IfModule >
|
Как вы видите Access-Control-Allow-Origin "*" позволяет получить доступ ко всем ресурсам и веб-шрифтам со всех доменов.
Мы получили отличный вопрос от Андреаса о добавлении Access-Control-Allow-Origin на поддоменах
Просто добавьте следующие строки в .htaccess файл, и мы должны быть хорошими.
|
1
2
3
4
5
6
|
< ifmodule mod_headers . c = >
SetEnvIf Origin ^ (. * /. домен / .com) $ ORIGIN_SUB_DOMAIN = 1 доллар
Заголовок установлен Access — Control — Allow — Origin % {ORIGIN_SUB_DOMAIN} е env = ORIGIN_SUB_DOMAIN
Заголовок установлен Доступ — Контроль — Разрешить — Методы : *
Заголовок установлен Доступ — Контроль — Разрешить — Заголовки : «Происхождение, X-Requested-With, Content-Type, Accept, Authorization»
< / ifmodule >
|
Надеюсь, это поможет вам так, как вы хотите.
0.00 (0%) 0 votes






