2017-10-17 67 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