Docker 容器提示 RSSHub Unhealthy 的解决办法
VPS 上通过 Docker Compose 部署的 RSSHub 服务在前端访问正常,后端状态却显示异常。
异常表现
- 运行
docker ps
后看到 RSSHub 容器状态是Unhealthy
:
- 在 Uptime Kuma 中 RSSHub 状态为
Pending
,过一会儿后就会显示为Down
:
问题
经过一番排查,发现问题来自 RSSHub 的访问控制相关设置。
为了防止 URL 泄露的未授权使用,我在部署时添加了 ACCESS_KEY:xxxxxxxxxxxx
。
访问时需在 URL 后加上 ?key=xxxxxxxxxxxx
参数才能通过授权正常访问,否则会返回 403 Forbidden
。
而 RSSHub 之前更新新增了 healthcheck
:
由于设置了访问控制,导致 healthcheck
一直收到 403
,几次失败后容器就被标记 Unhealthy
。
解决办法
找到问题后就简单了,两种解决办法:
- 简单粗暴去掉
healthcheck
- 在 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 中状态也正常了。
标题:Docker 容器提示 RSSHub Unhealthy 的解决办法
日期:2024-10-23
链接:https://logs.do/logs/fix-unhealthy-rsshub-container-in-docker.html
许可:© CC BY 4.0 · 转载请保留原文链接及作者