2017-10-17 79 views
1

我尝试生成一个nginx泊坞窗,将我的请求重定向到其他泊坞窗。nginx反向代理到泊坞窗,也许离线

但其他码头工人可能处于离线状态。

奉我国nginx的搬运工stratup我得到了以下错误:

"host not found in upstream "es_dev" in "/etc/nginx/nginx.conf" 

是否有可能运行Nginx的呀?如果其中一个码头工人不在,要显示一个html错误页面?

这里是我的配置文件:

http { 

    server { 
    listen  80; 
    server_name XXXXXXXXXXXXX.de; 
    rewrite ^ https://$server_name$request_uri? permanent; 
    } 

    server { 
    listen 443; 
    ssl on; 
    ssl_certificate /etc/ssl/XXXXXXXXXXXXX.crt; 
    ssl_certificate_key /etc/ssl/XXXXXXXXXXXXX.key; 
    ssl_client_certificate /etc/ssl/XXXXXXXXXXXXX.crt; 
    ssl_verify_client on; 
    ssl_verify_depth 2; 

    location /dev/ { 
     proxy_pass http://dev:200/; 
     resolver 127.0.0.11; 
    } 
    location /staging/ { 
     proxy_pass http://staging:200/; 
     resolver 127.0.0.11; 
    } 
    location /live/ { 
     proxy_pass http://live:200/; 
     resolver 127.0.0.11; 
    } 
    } 
} 

2017年:10.19:

首先,我跑:

docker run --name nginx -v /var/run/docker.sock:/tmp/docker.sock -d -p 80:80 -p 443:443 nginx 

然后:

docker run --link=nginx --name dev -d image1 

结果:Nginx的正在恢复502 - 坏的网关

+2

链接已被弃用,码头工人创造的网络和连接您的集装箱到该网络的DNS发现。 – BMitch

回答

0

将解析器resolver 127.0.0.11;添加到您的位置nginx将在其他容器不可用时启动。

你的配置必须是这样的:

http { 

    server { 
    listen  80; 
    server_name XXXXXXXXXXXXX.de; 
    rewrite ^ https://$server_name$request_uri? permanent; 
    } 

    server { 
    listen 443; 
    ssl on; 
    ssl_certificate /etc/ssl/XXXXXXXXXXXXX.crt; 
    ssl_certificate_key /etc/ssl/XXXXXXXXXXXXX.key; 
    ssl_client_certificate /etc/ssl/XXXXXXXXXXXXX.crt; 
    ssl_verify_client on; 
    ssl_verify_depth 2; 

    location /dev/ { 
     proxy_pass http://dev:200/; 
     resolver 127.0.0.11; 
    } 
    location /staging/ { 
     proxy_pass http://staging:200/; 
     resolver 127.0.0.11; 
    } 
    location /live/ { 
     proxy_pass http://live:200/; 
     resolver 127.0.0.11; 
    } 
    } 
} 

127.0.0.11嵌入泊坞窗DNS服务器

+0

所以,现在我的ngix开始了...但我无法解决我的码头开发:200 首先我开始nginx。 然后我开始我的码头。 但是我的nginx无法支持我的请求...我得到了502 - 错误的网关错误 – Flo

+0

我建议您使用集装箱式的nginx。这是真的?你如何链接容器? –

+0

我已更新我的问题... – Flo