解决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 admin@example.com   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模块中添加配置:

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静态资源允许跨域访问解决方法

参与评论