You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx迁移至Traefik后Vaultwarden路径访问异常问题

问题原因及解决办法

核心原因

Vaultwarden前端的静态资源用的是相对路径。当你访问http://127.0.0.1/vaultwarden(无尾斜杠)时,浏览器会把当前路径识别为“根目录下的vaultwarden资源”,而非“vaultwarden目录”,所以加载静态资源时会请求/theme_head.js这种根路径下的文件,自然找不到;而访问带尾斜杠的http://127.0.0.1/vaultwarden/时,浏览器知道当前在vaultwarden目录下,资源请求路径会变成/vaultwarden/theme_head.js,就能正常加载。

Nginx与Traefik的差异

Nginx默认对无尾斜杠的目录请求会自动返回301重定向,跳转到带尾斜杠的版本,相当于帮你补全了路径,所以之前用Nginx时没这个问题。但Traefik默认没有这个自动重定向的逻辑,而whoami、Portainer这类服务要么本身用绝对路径加载资源,要么内部处理了路径补全,所以不受影响。

解决办法

有两种可行方案:

  • 方案1:Traefik配置重定向中间件
    给Vaultwarden的路由添加一个重定向中间件,把无尾斜杠的请求自动转到带尾斜杠的地址。示例动态配置(YAML格式):

    http:
      middlewares:
        vaultwarden-add-slash:
          redirectRegex:
            regex: ^https?://(.+)/vaultwarden$
            replacement: $0/
            permanent: true
    

    然后在Vaultwarden的路由规则里挂载这个中间件即可。

  • 方案2:修改Vaultwarden的DOMAIN配置
    给Vaultwarden设置DOMAIN环境变量为带尾斜杠的完整地址,比如:

    DOMAIN=http://127.0.0.1/vaultwarden/
    

    这样Vaultwarden会生成绝对路径的静态资源链接,不管你访问带不带尾斜杠,资源请求路径都是正确的,从根源上解决问题。

内容的提问来源于stack exchange,提问作者tweetysat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 06:41:34