Access Control Allow Origin 解决跨域权限问题

近日设置静态资源服务器时(WordPress设置静态资源域名,减少cookie请求)发现报错:

Font from origin 'https://res.minzulou.cn' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://wobeibk.com' is therefore not allowed access.

谷歌后发现是我给静态资源单独设置了一个域名,其它页面调用时发生了跨越权限问题。

因为我辈博客的WEB环境是LNMP,所以这里只给出Nginx的解决方法,Apache的就需要自己解决啦。

一、修改域名配置文件

找到res.minzulou.cn的域名配置文件,一般在/usr/local/nginx/conf中,然后找到

  1. location ~*\.(gif|jpg|jpeg|png|bmp|swf|woff)$  
  2.         {  
  3.             expires 30d;  
  4.             add_header Pragma public;  
  5.             add_header Cache-Control "public, must-revalidate, proxy-revalidate";  
  6.         }  

更改为

  1. location ~*\.(gif|jpg|jpeg|png|bmp|swf|woff)$  
  2.         {  
  3.             expires 30d;  
  4.             add_header Access-Control-Allow-Origin *;  
  5.             add_header Access-Control-Allow-Headers X-Requested-With;  
  6.             add_header Access-Control-Allow-Methods GET,POST,OPTIONS;  
  7.             add_header Pragma public;  
  8.             add_header Cache-Control "public, must-revalidate, proxy-revalidate";  
  9.         }  

二、重启Nginx服务

  1. nginx -s reload  
管理员

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: