Я исследовал эту проблему, когда определенный файл шрифта не отображается на удаленных сайтах из-за ограничений CORS.
До сих пор мне удавалось определить, что запросы на этот URL-адрес отвечают с помощью access-control-allow-origin, но nginx отклоняет запросы на этот шрифт при удаленном выполнении.
Я использую laravel и плагин laravel-cors от spatie, но я не думаю, что он вернет информацию заголовка для таблицы стилей или шрифта, не отрисованного из маршрутов laravel.
Кто-нибудь знает, почему это произошло?
Моя ошибка
Access to font at 'https://example.com/css/widget-icons/icomoon.ttf?wiodlm' from origin 'http://www.second-example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Заголовок извлекается с помощью curl (кажется, что разрешены запросы curl)
curl -I https://example.com/css/widget-icons/icomoon.ttf?wiodlm
HTTP/2 200
date: Sun, 13 Jan 2019 16:57:34 GMT
content-type: application/x-font-ttf
content-length: 1316
set-cookie: AWSALB=r3yRudj6XwTlfaFzEdtxrecHzLLplOKlpRMbKuqL8InwUQYylNVFaZtmGHK2wQDgjvaXsBtRVcTCyjWidjTFUFmoDzKLBLH0gL6qarns38Qn4FuDNCZogawHtOjD; Expires=Sun, 20 Jan 2019 16:57:34 GMT; Path=/
server: nginx/1.14.1
last-modified: Tue, 25 Dec 2018 05:42:49 GMT
etag: "5c21c359-524"
expires: Thu, 31 Dec 2037 23:55:55 GMT
cache-control: max-age=315360000
access-control-allow-origin: *
accept-ranges: bytes
Мой конфиг nginx для Access-Control-Allow-Origin (он настроен на соответствующую чувствительность к регистру).
location ~* .(gif|jpg|jpeg|png|ico|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|wml|swf|ttf|ttc|otf|eot|woff|woff2)$ {
add_header Access-Control-Allow-Origin "*";
expires max;
}
Добавлены типы MIME для передачи ttf
application/x-font-ttf ttc ttf;
application/x-font-otf otf;
application/font-woff woff;
application/font-woff2 woff2;