Seafile 对域名极其敏感,证书配好后,必须修改内部配置,否则会出现登录报错或重定向循环。

1. 修改 Seafile 内部配置 (最重要)

  • SERVICE_URL: 必须改为 https://files.laily.net
  • FILE_SERVER_ROOT: 必须改为 https://files.laily.net/seafhttp
  • CSRF/Allowed Hosts: 在 seahub_settings.py 中确认 ALLOWED_HOSTS 包含你的域名。

2. 修复 ServerDown: 1 keys failed

  • 这是 Memcached 挂了或连接断开的标志。
  • 排查:确认 Memcached Pod 运行正常,且 Seafile 配置中的缓存地址(如 memcached:11211)在 K8s 内网可解析。

3. Ingress 协议透传注解

在 Ingress 的 annotations 中加入以下内容,防止 404 或协议丢失:

annotations:
  # 告诉 Traefik 使用 https 重定向中间件(名字需与集群内一致),如果加上后报 404,可以将这一行删掉只留下面一行试试
  traefik.ingress.kubernetes.io/router.middlewares: "kube-system-redirect-https@kubernetescrd"
  # 强制 SSL 跳转
  ingress.kubernetes.io/ssl-redirect: "true"