vanblog icon indicating copy to clipboard operation
vanblog copied to clipboard

[问题反馈]: 后台修改blog内容后,前台无更新

Open mffan0922 opened this issue 2 years ago • 6 comments

问题描述 | Describe the bug

https://blogger.rustle.cc/post/30 https://blogger.rustle.cc/post/gitea 如上两个url是同一篇blog记录,我后台修改内容之后,做了如下操作:

  1. 清理缓存 -- 后台
  2. 清理缓存 -- 浏览器
  3. 更换浏览器
  4. 使用无痕模式访问 两个url对应的内容还是不一样,其中使用https://blogger.rustle.cc/post/gitea这个url的内容是更新过的,使用数字ID的URL内容没有更新

查询了当前的issue,没有发现相同的问题,另外,前台搜索的内容,都是以数字ID形式跳转访问的,这个是否可以做成如下逻辑:

  1. 如果没有自定义路径,则使用数字ID为URL最后一层
  2. 如果指定了自定义路径,则使用自定义路径的URL跳转

最后测试了一下,将自定义路径删除清空之后,访问ID形式的url内容也变成正确的了,或者后台高级设置→手动触发也可以实现内容更新

辛苦帮忙看下,thx~

复现网址 | Website URL

https://blogger.rustle.cc/post/30

版本 | Version

v0.54.0

部署方式? | How do you deploy vanblog?

Docker 部署(文档默认)

mffan0922 avatar Sep 09 '23 05:09 mffan0922

这个是经典问题,大概率是因为你的反代缓存设置问题导致的,你用了反代或者宝塔之类的东西了吗?

Mereithhh avatar Sep 09 '23 10:09 Mereithhh

搜索内容跳转逻辑确实可以优化一下

Mereithhh avatar Sep 09 '23 10:09 Mereithhh

这个是经典问题,大概率是因为你的反代缓存设置问题导致的,你用了反代或者宝塔之类的东西了吗?

https://blogger.rustle.cc/post/30 https://blogger.rustle.cc/post/gitea 我是用的nginx做的反向代理,配置如下,没有配置缓存时间,但是网页上如上两个url的缓存相关的响应头均有Cache-Control: s-maxage=31536000, stale-while-revalidate,奇怪的是指定了路径的url能自动更新内容,我觉得跟反代应该没有关系的吧,我也没有套CDN之类的,只是懂一点点,我个人没有能力继续排查下去了,麻烦大佬看下这样是否是正常的

我的访问路径是:浏览器→VPS(frps)→Server(frpc)→Server(nginx)→Server(Docker)

另外也测试了下,加上add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";这种头,让浏览器强制不缓存,还是不行......

还有就是麻烦看下你那边是否可以复现问题,如果你那边更新内容正常的话,很可能是我这边配置的问题.....

server {
    server_name blogger.rustle.cc;
    listen [::]:443 ssl http2;
    listen 443 ssl http2;
    listen [::]:80;
    listen 80;
    charset utf-8;
    access_log logs/gitea.access.log main;
    ssl_certificate            /opt/configs/certs/rustle.cc.cer;
    ssl_certificate_key        /opt/configs/certs/rustle.cc.key;

    if ($scheme = http) {
        return 302 https://$host$request_uri;
    }

    location / {
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header Cache-Control no-cache;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Range $http_range;
        proxy_set_header If-Range $http_if_range;
        proxy_pass http://localhost:10009;

        # 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
        client_max_body_size 4000M;
    }
}

mffan0922 avatar Sep 09 '23 12:09 mffan0922

你好,请问现在还受困于此问题吗? @mffan0922

CornWorld avatar Oct 27 '23 13:10 CornWorld

你好,请问现在还受困于此问题吗? @mffan0922

你好,是的,目前还是有这个问题,请参考如下截图,目前的话,我已经全部删除了自定义路径,暂时规避了此问题 diff

mffan0922 avatar Oct 27 '23 13:10 mffan0922

我将提交一个 PR 尝试修改搜索 API 返回的内容,使自定义路径存在的时候返回自定义路径

CornWorld avatar Oct 28 '23 16:10 CornWorld