Nginx服务器端font字体文件跨域问题
在页面中使用了bootstrap和font-awesome的字体图标,在调用字体的时候,使用了外部链接样式调用css,字体不能显示,放在服务器的字体,不能调用,然后报这样类似的错误
Font from origin 'http://cdn.blyoo.com' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://test.blyoo.com' is therefore not allowed access.
在确保CSS和Font字体的路径加载无问题后,基本确定是因为跨域的问题。
通过Nginx模块HttpHeadersModule来添加Access-Control-Allow-Origin允许的地址。
在Nginx的conf目录下修改nginx.conf,添加以下代码:
//添加这种,只对字体可以跨域
location ~* \.(eot|ttf|woff|svg|otf)$ {
add_header Access-Control-Allow-Origin *;
}
//或者下面这个,所有都可以跨域
location / {
add_header Access-Control-Allow-Origin *;
}
//二者选一即可