找回密码
 立即注册
搜索
热搜: 微信小游戏
查看: 141|回复: 0

解决一个浏览器缓存导致的跨域问题

[复制链接]

84

主题

75

回帖

655

积分

管理员

积分
655
管理员 发表于 2024-7-13 10:34:15 | 显示全部楼层 |阅读模式

下面这两个url

  1. https://www.tinygimp.com/text3d/
  2. https://tinygimp.com/text3d/
    都是3d文字生成器页面,都需要请求字体文件https://tinygimp.com/ttf/Varsity%20Team.ttf

一开始,我在nginx配置了,
当host或referer中域名只要是tinygimp.com的子域名,就允许相应的origin

https://www.tinygimp.com/text3d/访问字体时,返回头中加了
Access-Control-Allow-Origin:https://www.tinygimp.com

https://tinygimp.com/text3d/访问字体时,返回头中加了
Access-Control-Allow-Origin:https://tinygimp.com

乍一看和试了一下好像没问题了。

但偶尔还是会出现跨域错误,百思不得其解。

后来发现,出现问题的情形是:
先在https://tinygimp.com/text3d/访问字体,然后浏览器缓存了字体,同时带有的跨域头是Access-Control-Allow-Origin:https://tinygimp.com

当再在https://www.tinygimp.com/text3d/访问字体时,不适用缓存还好,使用缓存,就会出现跨域错误。因为缓存中的Access-Control-Allow-Originhttps://tinygimp.com,没有www

最后,改成了只要host或referer中域名是tinygimp.com的子域名,就添加Access-Control-Allow-Origin:*,这样即使缓存了,缓存的也是*

解决。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|小黑屋|微信搜索指数|独开 ( 粤ICP备2023140300号-3 )

GMT+8, 2024-9-8 12:55 , Processed in 0.025059 second(s), 19 queries .

快速回复 返回顶部 返回列表