解決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模塊中添加配置:

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开奖结果