LMSouq
server-admin Open

nginx: how to not exit if "host not found in upstream"?

MO
Morozov
1 month ago
3 views
Problem Description
We have several rails apps under common domain in Docker, and we use nginx to direct requests to specific apps. our_dev_server.com/foo # proxies to foo app our_dev_server.com/bar # proxies to bar Config looks like this: upstream foo { server foo:3000; } upstream bar { server bar:3000; } # and about 10 more... server { listen *:80 default_server; server_name our_dev_server.com; location /foo { # this is specific to asset management in rails dev rewrite ^/foo/assets(/.*)$ /assets/$1 break; rewrite ^/foo(/.*)$ /foo/$1 break; proxy_pass http://foo; } location /bar { rewrite ^/bar/assets(/.*)$ /assets/$1 break; rewrite ^/bar(/.*)$ /bar/$1 break; proxy_pass http://bar; } # and about 10 more... } If one of these apps is not started then nginx fails and stops: host not found in upstream "bar:3000" in /etc/nginx/conf.d/nginx.conf:6 We don't need them all to be up but nginx fails otherwise. How to make nginx ignore failed upstreams?

AI-Generated Solution

Powered by LMSouq AI · GPT-4.1-mini

✓ Solution Ready
Analyzing problem and generating solution…
Was this solution helpful?
Back to Knowledge Base