动态域名跨域解决启用CDN无法正常请求问题'Access-Control-Allow-Origin'的原因和解决办法

2023-06-28T01:41:00
前言

  前几天给博客换了个CDN后由于时间原因就没多看了,直到昨天调式的时候才发现,纳尼,这是啥情况(如图),咋这么多错误了 。


 经过一段时间的搜集,终于在网上找到了解决办法。出现这种情况是由于用户与浏览器之间是HTTPS交互,但实际上PHP接收到的是来自CDN的 HTTP 交互,所以PHP使用了 HTTP 进行响应,结合Typecho的一些特性形成了这个问题。简单说就是CDN开启了HTTPS,但使用的是HTTP回源,就出现了这种情况。

解决办法

{card-default label="办法一" width=""}
进入你网站所使用的CDN控制后台,把回源协议改为:HTTPS即可(改完记得刷新缓存,部分需要等一会才会生效),这里不做演示。
此方法增加网站源IP地址泄漏风险,此处暂不展开叙述。
{/card-default}

{card-default label="办法二(ty推荐)" width=""}
1.打开网站根目录
2.找到 config.inc.php 文件并打开
3.在图示部位添加代码并保存即可
为什么推荐这个方法呢,因为Typecho后台只能绑定一个域名,如果绑定多个域名时其它域名域名只能显示主页,插件等页面会报错,但是加上这个就不会了,所以还是提前改了吧。
{/card-default}


在适当位置加入如下代码

// 动态域名跨域
define('__TYPECHO_SECURE__',true); 
当前页面是本站的「百度MIP」版。发表评论请点击:完整版 »