2015-09-18 41 views
1

認識我希望我的nginx的不同的URI傳遞給不同的後端,所以我想我這樣做:nginx的上游不通過proxy_pass

server { 
    listen 8090; 

    access_log /var/log/nginx/nginx_access.log combined; 
    error_log /var/log/nginx/nginx_error.log debug; 

    location /bar { 
     proxy_pass http://backend2; 
    } 

    location /foo { 
     proxy_pass http://backend2; 
    } 

    location/{   
     proxy_pass http://backend1; 
    } 
} 


upstream backend1 { 
    server 10.33.12.41:8080; 
    server 127.0.0.1:8080 max_fails=3; 
} 

upstream backend2 { 
    server 10.33.12.41:8080; 
    server 10.33.12.43:8080; 
} 

如果我打電話的wget http://mynginxserver:8090/我得到如下:

wget http://mynginxserver:8090/ 
--2015-09-18 11:58:21-- http://mynginxserver:8090/ 
Connecting to mynginxserver:8090... connected. 
HTTP request sent, awaiting response... 302 Found 
Location: http://backend1/ 
[following] 
--2015-09-18 11:58:21-- http://backend1/ 
Resolving backend1 (backend1)... failed: Temporary failure in name resolution. 
wget: unable to resolve host address ‘backend1’ 

它爲什麼試圖解析後端1?我不明白。請幫助;) 問候, Snooops

回答