nginx + @font-face + Firefox / IE9
- by Philip Seyfi
Just transferred my site from a shared hosting to Linode's VPS, and I'm also completely new to nginx, so please don't be harsh if I missed something evident ^^
I've got my WordPress site running pretty well on nginx & MaxCDN, but my @font-face fonts (served from cdn.domain.com) stopped working in IE9 and FF (@font-face failed cross-origin request. Resource access is restricted.)
I've googled for hours and tried adding all of the following to my config files:
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' '*';
}
}
With all of the following combinations:
add_header Access-Control-Allow-Origin *;
add_header 'Access-Control-Allow-Origin' *;
add_header Access-Control-Allow-Origin '*';
add_header 'Access-Control-Allow-Origin' '*';
Of course, I've restarted nginx after every change.
The headers just don't get sent at all no matter what I do.
I have the default Ubuntu apt-get build nginx which should include the headers module by default... How do I check what modules are installed, or what else could be causing this error?