Просто переданный мой сайт от общего хостинга до VPS Linode, и я также абсолютно плохо знаком с nginx, поэтому не будьте резки, если я пропустил что-то очевидный ^^
У меня есть свой сайт WordPress, работающий вполне прилично на nginx и MaxCDN, но мой @font-face шрифты (подаваемый из cdn.domain.com) прекратил работать в IE9 и FF (@font-face отказавший запрос перекрестного источника. Доступ ресурса ограничивается.)
Я гуглил в течение многих часов и пытался добавить все следующие к моим файлам конфигурации:
location ~* ^.+\.(eot|otf|ttf|woff)$ {
add_header Access-Control-Allow-Origin *;
}
location ^/fonts/ {
add_header Access-Control-Allow-Origin *;
}
location / {
if ($request_filename ~* ^.*?/([^/]*?)$)
{
set $filename $1;
}
if ($filename ~* ^.*?\.(eot)|(otf)|(ttf)|(woff)$){
add_header 'Access-Control-Allow-Origin' '*';
}
}
Конечно, я перезапустил nginx после каждого изменения.
Заголовки просто не становятся отправленными вообще независимо от того, что я делаю.
У меня есть склонная Ubuntu по умолчанию - получают сборку nginx, который должен включать модуль заголовков по умолчанию... Как я проверяю, какие модули установлены, или что еще могло вызывать эту ошибку?
ОБНОВЛЕНИЕ:
Я попытался работать curl -I [location-of-the-font]
и это действительно возвращается Access-Control-Allow-Origin: *
но заголовок не видим в панели Network Chrome, и шрифты все еще не работают в FF & IE9 (CSS3117: @font-face неудавшийся запрос перекрестного источника. Доступ ресурса ограничивается.) - Какие-либо идеи, что могло вызывать это?
Единственное предложение, которое можно дать, это (1) убедиться, что вы очистили кэш внутри вашего браузера, и (2) убедиться, что add_header
присутствует на соответствующем уровне.
Нет особого смысла в определении его везде. Если все ваши шрифты обслуживаются изнутри location /fonts
, тогда это единственное место, где вы должны объявить соответствующую add_header
, и вы также должны убедиться, что никакие другие директивы add_header
не имеют других директив add_header
, потому что это сбросит все предыдущие add_header
направления на предыдущих уровнях.