Chevereto 中的 "您没有权限访问此网页或链接已过期." 问题
问题概述
在 Chevereto 登录账号后再执行 "注销" 操作的时候会显示:
- 您没有权限访问此网页或链接已过期.
使用 EN 语言的显示是:
- You either don't have permission to access this page or the link has expired.
问题原因
Chevereto 的注销是使用 URL 查询参数请求的, 在向服务器请求注销的时候会访问一条类似如下的 URL:
https://www.domain.com/logout/?auth_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
如果此时使用了边缘节点缓存, 大多数的 CDN 提供商为了提高缓存效率都会启用 "查询参数不跟随", 如果是这样的话, 这条请求会首先通过边缘节点服务器过滤掉了查询参数, 传入服务器的时候就丢掉了后面的 token, 服务器并没有收到正确的注销请求, 于是传出了没有查询参数的响应, 于是此时出现了没有权限访问.
解决办法
既然已经知道了问题原因, 那么在为 Chevereto 启用 CDN 的时候就要注意 "参数跟随" 问题, 以下以 Cloudflare 为例:
相关设置路径位于:
域名 - 缓存 - 配置 - 缓存级别
需要将此处的配置改为 "标准", 即为不忽略查询参数.
修改成功后需要等待至少 30 分钟左右, 规则才会生效, 随后完全清空浏览器缓存再尝试登录后注销即可正常注销.
其他
在遇到这个问题的时候我还注意到 CSDN 上有人描述了不同的问题原因:
- 服务器没有正确处理
session
.
如果你在尝试 CX 的解决办法之后依旧没有改善, 那么建议通过这篇文章自检问题.
文章参见 CSDN:
Chevereto 无法登录显示[请求被拒绝,您或者没有权限访问此页面]的解决办法_isinstance的博客-CSDN博客
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 CXPLAY World!
评论
WalineGiscus