Я хочу использовать nginx в качестве балансировщика нагрузки для моих FastAPI реплик, но я не могу заставить его работать. Я читал, что uvicorn тоже может это сделать, но nginx прекрасно справится с балансировкой нагрузки. сообщение на форуме .
Я получаю сообщение об ошибке
host not found in upstream "inconnect1:5001"
docker -compose.yml
version: "3"
networks:
proxy-tier:
external:
name: nginx-proxy
services:
inconnect1:
image: inconnect:0.1
container_name: inconnect1
environment:
- PORT=5001
volumes:
- ./inconnect/app:/app
ports:
- 5001:5001
nginx:
image: jwilder/nginx-proxy
container_name: nginx
ports:
- 80:80
- 443:443
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./letsencrypt/certs:/etc/nginx/certs:ro
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
networks:
- proxy-tier
restart: always
deploy:
mode: replicated
replicas: 1
nginx .conf
worker_processes 1;
events { worker_connections 1024; }
http {
sendfile on;
upstream restapis {
server inconnect:5001;
}
server {
listen 80;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_buffering off;
proxy_pass http://restapis;
}
location /static {
# path for static files
root /path/to/app/static;
}
}
}