CDN跨域问题解决办法
- 学习
- 2023-05-31 21:22:29
- 752
自从接入CDN之后,这个问题一直存在:www.jul.cn这个域名访问网站,作者头像是有的(更换后的 ,如果访问jul.cn就不能正常的显示。百思不得其解,对于我这种强...
自从接入CDN之后,这个问题一直存在:www.jul.cn这个域名访问网站,作者头像是有的(更换后的),如果访问jul.cn就不能正常的显示。百思不得其解,对于我这种强迫症患者简直是难受到抓狂。直到昨天逛博客看到的一篇博文提出相同的问题和解决办法。
这下子终于知道是什么原因了——CDN跨域问题。跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。 这里说明一下,无法跨域是浏览器对于用户安全的考虑,如果自己写个没有同源策略的浏览器,完全不用考虑跨域问题了。是浏览器的锅,对。 同源策略限制了以下行为: Cookie、LocalStorage和IndexDB无法读,DOM和JS 对象无法获取,Ajax请求发送不出去。在使用CDN的时候,很容易会遇到跨域的问题,当一个请求url的协议、域名、端口三者之间的任意一个与当前页面url不同即为跨域。
知道原因就有解决办法,按照博文提供的解决办法,在Nginx里面添加以下代码:
add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
然后重启Nginx并刷新CDN缓存和浏览器缓存,问题得到解决。在搜索相关资料的过程中,阿里云官方文档也有相应的解决办法,直接在:CDN配置/域名管理/缓存配置/自定义HTTP响应头/添加:
Access-Control-Allow-Origin 值:* 是否允许重复:不允许 其余默认 Access-Control-Allow-Methods 值: GET,POST,PUT,OPTIONS 是否允许重复:不允许
其余默认
刷新CDN缓存,打开博客,完美解决,之前着实抓狂,但又不知道啥原因,这回找到原因并解决,心里舒坦多了😄😄。
本文由admin于2023-05-31原创发表在七月博客,转载须经本站同意。
本文链接:https://www.jul.cn/post/20.html
本文链接:https://www.jul.cn/post/20.html
上一篇:军旅回忆录(七)
下一篇:公安备案官网无法访问
发表评论