如何解决如何修复球童的状态代码超出反向代理的容忍度?
我有这个index.js
:
const express = require('express')
const APP_NO = process.env.APP_NO || "node-app1"
const PORT = process.env.PORT || 8000
const app = express()
app.get('/',async (req,res) => {
console.log(req)
res.json({app: APP_NO,req})
})
app.listen(PORT,() => {
console.log(`${APP_NO} listening at:`,PORT)
})
这个 Caddyfile
用于具有负载平衡的反向代理:
:2021
encode gzip zstd
reverse_proxy node-app1:8000 node-app2:8080 {
lb_policy random_choose 2
}
这个 docker-compose.yaml
在本地运行:
version: "3.7"
services:
node-app1:
image: node-app:latest
container_name: node-app1
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=8000
- APP_NO=node-app1
node-app2:
image: node-app:latest
container_name: node-app2
restart: unless-stopped
environment:
- NODE_ENV=production
- PORT=8080
- APP_NO=node-app2
caddy:
image: docker.io/caddy/caddy:alpine
container_name: caddy-service
restart: unless-stopped
ports:
- 8000:80
- 8080:443
volumes:
- ${PWD}/Caddyfile:/etc/caddy/Caddyfile
depends_on:
- node-app1
- node-app2
docker-compose
运行成功,但我无法在 http://localhost:8000
访问 API。球童日志:
...
{"level":"info","ts":1626890003.6812198,"logger":"http.handlers.reverse_proxy.health_checker.active","msg":"status code out of tolerances","status_code":404,"host":"node-app1:8000"}
{"level":"info","ts":1626890003.6812427,"host":"node-app2:8080"}
...
请帮帮我,我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。