网站使用CDN存储静态资源,在主域调用CDN资源时,会遇到某些CSS样式、字体文件等不正常的情况,但是CDN资源单独又是可以访问的,网上搜索得知这是遇到了资源跨域调用问题,跨域是指一个域下的文档或脚本试图去请求另一个域下的资源。
原本我所理解的是只要网站里的资源没做防盗链处理,那么其他网站可以任意调用这些资源。实际上并不是这样的,页面的协议、域名、端口任意有一个不一样就算跨域,有些资源就不能跨域调用,像CDN静态资源这种应用,就会遇到这种问题。
省事一点的做法就是在网站配置文件中,增加一个声明,允许任何站点调用。以Apache2为例,修改/etc/apache2/sites-available/000-default.conf 与 /etc/apache2/sites-available/default-ssl.conf 两个文件,分别在
Header set Access-Control-Allow-Origin "*"
重启Apache2即可解决。
service apache2 restart