nginx + @ font-face + Firefox / IE9

3

Acabei de transferir meu site de uma hospedagem compartilhada para o VPS da Linode, e também sou completamente novo no nginx, então, por favor, não seja severo se eu perdi alguma coisa evidente ^^

Eu tenho o meu site WordPress rodando muito bem em nginx & MaxCDN, mas minhas fontes @ font-face (veiculadas em cdn.domain.com) pararam de funcionar no IE9 e FF (solicitação de origem cruzada falhada @ font-face. O acesso ao recurso é restrito.)

Eu pesquisei por horas e tentei adicionar todos os itens a seguir aos meus arquivos de configuração:

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' '*'; 
    } 
}

Claro, reiniciei o nginx após cada alteração.

Os cabeçalhos simplesmente não são enviados, não importa o que eu faça.

Eu tenho o nginx padrão do Ubuntu apt-get build que deve incluir o módulo headers por padrão ... Como eu verifico quais módulos estão instalados ou o que mais poderia estar causando este erro?

ATUALIZAÇÃO:

Eu tentei executar curl -I [location-of-the-font] e ele retorna Access-Control-Allow-Origin: * , mas o cabeçalho não está visível no painel "Rede" do Chrome e as fontes ainda não funcionam no FF & IE9 (CSS3117: @ font-face falha na solicitação de origem cruzada. O acesso ao recurso é restrito.) - Alguma idéia do que poderia estar causando isso?

    
por Philip Seyfi 17.11.2011 / 00:47

1 resposta

0

A única sugestão que pode ser dada é que você deve, (1), garantir que você limpe o cache em seu navegador, e, (2), garantir que add_header está presente no nível apropriado.

Não há muito sentido em defini-lo em todos os lugares. Se todas as suas fontes forem veiculadas a partir de location /fonts , esse será o único local em que você deverá declarar o add_header apropriado e também deverá garantir que nenhuma outra sub-localização tenha outras diretivas add_header , porque redefiniria todas as direções add_header anteriores nos níveis anteriores.

    
por 30.06.2015 / 06:45