VPS 上通过 Docker Compose 部署的 RSSHub 服务在前端访问正常,后端状态却显示异常。

异常表现

  1. 运行 docker ps 后看到 RSSHub 容器状态是 Unhealthy

2024-10-23 14.40.36.png

  1. 在 Uptime Kuma 中 RSSHub 状态为 Pending,过一会儿后就会显示为 Down

Screenshot 10-23 at 14.44.27@2x.png

问题

经过一番排查,发现问题来自 RSSHub 的访问控制相关设置。

为了防止 URL 泄露的未授权使用,我在部署时添加了 ACCESS_KEY:xxxxxxxxxxxx

访问时需在 URL 后加上 ?key=xxxxxxxxxxxx 参数才能通过授权正常访问,否则会返回 403 Forbidden

而 RSSHub 之前更新新增了 healthcheck

Screenshot 10-23 at 14.38.53@2x.png

由于设置了访问控制,导致 healthcheck 一直收到 403,几次失败后容器就被标记 Unhealthy

解决办法

找到问题后就简单了,两种解决办法:

  1. 简单粗暴去掉 healthcheck
  2. 在 healthcheck URL 中也加入 key
test: ["CMD", "curl", "-f", "http://localhost:1200/healthz?key=xxxxxxxxxxxx"]
test: ["CMD", "curl", "-f", "http://localhost:3000/pressure?key=xxxxxxxxxxxx"]

重启容器后,稍等片刻就能看到容器状态恢复为 Healthy,Uptime Kuma 中状态也正常了。

Screenshot 10-23 at 14.44.51@2x.png

标题:Docker 容器提示 RSSHub Unhealthy 的解决办法

日期:2024-10-23

链接:https://logs.do/logs/fix-unhealthy-rsshub-container-in-docker.html

许可:© CC BY 4.0 · 转载请保留原文链接及作者

标签: app, docker, self-hosted, rsshub

添加新评论