Answer the question
In order to leave comments, you need to log in
How to start Nginx balancer if host not found in upstream?
I'm making a balancer container.
dockerfile:
FROM nginx:latest
COPY server.conf /etc/nginx/conf.d/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
upstream bundle {
server app;
server fallback backup;
}
server {
listen 80;
server_name localhost;
resolver 127.0.0.11;
location / {
proxy_pass http://bundle;
}
}
sudo docker run --name $DOCKER_CONTAINER_NAME -d --network dev -p 80:80 $DOCKER_IMAGE_LATEST
nginx: [emerg] host not found in upstream "app"
Answer the question
In order to leave comments, you need to log in
попробуйте через переменную:
map $scheme $upstream_main {
default app;
}
upstream bundle {
server $upstream_main;
server fallback backup;
}
Есть статья:
https://www.nginx.com/blog/dns-service-discovery-n...
Там описано 5 методов для разрешения хостов.
Из них 3 метода для бесплатной версии Nginx.
В методе 2 описано использование upstream, но сервер не поднимается, если хост недоступен.
В методе 3 описано использование переменных, и сервер запустится в любом случае, но нельзя использовать upstream.
Неужели upstream и принудительный запуск - это конфликтующие хотелки?
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question