Today I just pushed a website on its staging environnement.
Since I use Chrome, I didn’t notice immediately that Twitter Bootstrap Glyphicons were broken under Firefox:
The strange thing is that it works perfectly on my development environnement and not this staging environnement.
So I supposed that the problem come from a configuration difference and it is!
On the development server, there’s no asset-pipeline and no CDN.
Staging is a "production-like" environnement: asset-pipeline with digest on my rails application, assets served using a CDN…
And here is the problem: Firefox doesn’t now allow cross domain fonts.
Since I host the assets on my CDN (just another virtual host to serve static file), I modified the Apache configuration with this workaround (thanks Catalin Rosu):
# For Apache
<FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
This is for Apache server but can be adapted for Nginx.
Note that you have to load mod_headers.c
if not already done :
sudo ln -s /etc/apache2/mods-available/headers.load /etc/apache2/mods-enabled/
Restart Apache and everything should work.