шрифты блокируются в веб-клиенте cors
Пока я работал в local, все работало отлично, теперь я загрузил на хостинг, и шрифты блокируются чем-то, о чем я никогда не слышал (CORS). Шрифты (а также css, js и т. д.) находятся в поддомене, поскольку URL-адреса анализируются индексом (поэтому пути не работают в домене). Css/js работают нормально.
Это вывод в веб-консоли (firefox):
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at /fonts/Oxygen-Regular.ttf. (Reason: CORS header 'Access-Control-Allow-Origin' missing). <unknown>
downloadable font: download failed (font-family: "Oxygen-Regular" style:normal weight:normal stretch:normal src index:0): bad URI or cross-site access not allowed source: /fonts/Oxygen-Regular.ttf styles.css:10:12
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at /fonts/Montserrat-Regular.ttf. (Reason: CORS header 'Access-Control-Allow-Origin' missing). <unknown>
downloadable font: download failed (font-family: "Montserrat-Regular" style:normal weight:normal stretch:normal src index:0): bad URI or cross-site access not allowed source: /fonts/Montserrat-Regular.ttf styles.css:6:12
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at /fonts/glyphicons-halflings-regular.woff2. (Reason: CORS header 'Access-Control-Allow-Origin' missing). <unknown>
downloadable font: download failed (font-family: "Glyphicons Halflings" style:normal weight:normal stretch:normal src index:1): bad URI or cross-site access not allowed source: /fonts/glyphicons-halflings-regular.woff2 bootstrap.css:267:12
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at /fonts/glyphicons-halflings-regular.woff. (Reason: CORS header 'Access-Control-Allow-Origin' missing). <unknown>
downloadable font: download failed (font-family: "Glyphicons Halflings" style:normal weight:normal stretch:normal src index:2): bad URI or cross-site access not allowed source: /fonts/glyphicons-halflings-regular.woff bootstrap.css:267:12
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at /fonts/glyphicons-halflings-regular.ttf. (Reason: CORS header 'Access-Control-Allow-Origin' missing). <unknown>
downloadable font: download failed (font-family: "Glyphicons Halflings" style:normal weight:normal stretch:normal src index:3): bad URI or cross-site access not allowed source: /fonts/glyphicons-halflings-regular.ttf bootstrap.css:267:12
Я искал эту проблему, но я не могу найти эту особую проблему со шрифтами и точным сообщение об ошибке.
Правка:
Исправление состоит в том, чтобы включить заголовок для домена / папки, обслуживающей файлы. Конфигурация может быть либо в блоке виртуального хоста, либо в a .htaccess file (в папке, где находятся файлы). Я предпочитаю устанавливать его в блоке vhost:
<IfModule mod_headers.c>
SetEnvIf Origin "https://(www|sub1|sub2|sub3).domain.com)$" ACAO=$0
Header set Access-Control-Allow-Origin "%{ACAO}e" env=ACAO
Header set Access-Control-Allow-Methods "GET"
</IfModule>
В этом примере Access-Control-Allow-Origin будет отправлять только заголовок для домена и поддоменов из белого списка. Я перенаправляю с domain.com на www.domain.com, поэтому этот пример не будет принимать домен без www.
2 ответов:
Ваш браузер жалуется на отсутствие заголовка: Access-Control-Allow-Origin
Поскольку этот заголовок отсутствует, ваш браузер не знает, что требуемый доступ является законным. Взгляните на http://enable-cors.org и выберите конфигурацию, соответствующую вашему серверу.
Вам нужно настроить сервер, на котором хранятся шрифты !
Документации позволяет добавить пользовательский заголовок для всех запросов на добавление это в данном контексте:
setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" )Чтобы это сработало, вы необходимо включить функцию
mod_setenv. Но если вы не включите этот модуль, прежде чем вы включаете свой модульmod_status, вы никогда не увидите пользовательский заголовки приходят из вашего lighttpd HTTP response header output
Comments