解决nginx/apache静态资源跨域访问问题详解

 更新时间£º2018年10月18日 12:02:24   作者£º洋灰   我要评论

有时为了优化网站访问速度£¬会给一些静态资源配置cdn加速£¬但是有时候会出现跨域访问的问题£¬在nginx和apache服务中可进行如下配置

1. apache静态资源跨域访问

找到apache配置文件httpd.conf

找到这行

#LoadModule headers_module modules/mod_headers.so

把#注释符去掉

LoadModule headers_module modules/mod_headers.so

目的是开启apache头信息自定义模块

在独立主机配置文件中新增header

Header set Access-Control-Allow-Origin *

例如:

<VirtualHost *:88>
 ServerAdmin [email protected]
 DocumentRoot "****************"
 ServerName www.jb51.com
 Header set Access-Control-Allow-Origin *

 ErrorLog "***********"
 CustomLog "****************************" common
<Directory "**************">
 SetOutputFilter DEFLATE
 Options FollowSymLinks ExecCGI
 Require all granted
 AllowOverride All
 Order allow,deny
 Allow from all
 DirectoryIndex index.html index.php
</Directory>
</VirtualHost>
ApacheCopy

意思是对这个域名的资源进行访问时£¬添加一个头信息

重启apache

service httpd restart

2. nginx静态资源允许跨域访问

同理 找到相应域名配置文件

在server模块中添?#20248;?#32622;£º

add_header ¡®Access-Control-Allow-Origin' ¡®*';

例£º

server {
    listen    80;
    add_header 'Access-Control-Allow-Origin' '*';
    location /Roboto/ {
      root  /home/images;
      autoindex on;
    }
  }

nginx重载

./nginx -s reload

通过以上方法配置完后£¬再次跨域访问静态资源就没有问题了

以上既是nginx/apache静态资源允许跨域访问解决方法

相关文章

最新评论

ÁÉÄþ35Ñ¡7¿ª½±½á¹û