在2.20.x版本中, 静态资源也校验了登陆, 导致在将静态资源单独进入cdn后回源失败.
Closed this issue · 5 comments
System information
None
What is the project operation method?
Docker
What happened?
目前我的部署方式是通过nginx,将静态资源部分动态subs_filter替换为cdn的地址.
例如: 博客地址 https://blog.com, 而静态资源地址 https://static.cdn.com/blog
在之前版本中,静态资源不会校验登陆.所以这种部署方式一直没问题.
但升级到2.20.x后, 由于现在静态资源也校验登陆,直接302到登陆页面, 导致目前cdn回源失败.
是否可以继续将静态资源排除校验呢?
Hi @rohow , thank you for reaching out here!
目前,Halo 安全模块是默认过滤了部分静态资源的,请看下面的列表:
"/themes/{themeName}/assets/{*resourcePaths}",
"/plugins/{pluginName}/assets/**",
"/upload/**",
"/webjars/**",
"/js/**",
"/styles/**",
"/halo-tracker.js",
"/images/**"
如果你想要替换的路径是 /blog
,目前暂时不支持。
建议提供更多的信息,否则我们也不知道为什么需要这样做。
/triage needs-information
@JohnNiang 感谢回复~ 目前是uc 和 console中的静态资源返回了302.
请问这部分的静态资源是否可以也过滤出来呢?
我目前的场景是 博客域名(https://dev.cm) 在国内无法备案 但是又需要使用国内cdn(需要备案 但对于国内速度最优)
所以我将全部静态资源匹配到国内已备案的域名上 (https://static.fillcode.com) 并且使用路径做分发(eg: https://static.fillcode.com/dev-cm/)
目前我没有找到能够统一配置替换静态资源路径的功能的前提下 只能这么实现了... 这种配置在2.20.x之前的版本是一直生效的
感谢进一步反馈!
后续可以考虑在认证配置中排除以下两个路径规则: /console/assets/**
和 /uc/assets/**
。
/assign
/kind improvement
/area core
/milestone 2.20.x
Hi @rohow , Halo 2.20.6 已经发布,非常欢迎测试当前问题是否已经解决。
Hi @JohnNiang, 问题已经修复, 现在回源正常了. 感谢~