2017-07-30 91 views
1

我是nginx配置的新手。無法使Nginx負載平衡

我想在windows平臺中用nginx和wcf rest服務做一個負載平衡的例子。

以下是我在我的的conf/nginx.conf文件: -

upstream servers_customserver { 
server 127.0.0.1:62133; 
server 127.0.0.1:64897; 
server 127.0.0.1:64921; 
} 

server { 
listen 8070;  

location /test { 
proxy_pass http://servers_customserver/;    
} 

我的動機是何時何地,我嘗試輸入包含「/測試」一個網站的名稱,然後重定向到一個 「servers_customserver」中的網址。

Nginx在localhost:8070中很好。

但是,無論何時我做了本地主機:8070 /測試,我在瀏覽器中收到「404 Not Found nginx/1.12.0」。我確信我的服務已經啓動。

是否需要在IIS或任何Web服務器上使用我的服務才能使其工作?

有人可以指導我解決這個錯誤。

謝謝。

+0

你可以在這裏給出訪問日誌嗎?我想你的proxy_pass上的最後一個斜槓可能是問題嘗試'proxy_pass http:// servers_customserver;' – zochamx

+0

@zochamx。 Thx的答覆。我試圖刪除「/」,但仍然沒有解決這個問題。 「/測試HTTP/1.1」404 571「 - 」「Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(KHTML,像Gecko)Chrome/59.0.3071.115 Safari/537.36「 錯誤日誌:2017/07/31 10:44:50 [error] 9148#7844:* 79 CreateFile()」F:\ IDE \ Visual Studio Collection \ Web Servers \ nginx-1.12.0 \ nginx-1.12.0/html/test「failed(2:系統找不到指定的文件),client:127.0.0.1,server:localhost,request:」GET/test HTTP/1.1「,主機:」localhost:8070「 Thx。 – NANDAKUMAR

+0

@zochamx:我在錯誤日誌中注意到了斜槓「/」和「\」。 「.... nginx-1.12.0/html/test」failed ....「這是一個根本原因嗎?同時,在名爲test.html的」html「文件夾中創建一個空文件以供檢查。面對同樣的問題任何其他問題Thx in adv。 – NANDAKUMAR

回答

0

幸運的是,

添加下列步驟來定位塊後,負載均衡的東西爲我工作。

 proxy_set_header Host $host; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_set_header X-Forwarded-Host @server_name; 
     proxy_redirect off; 

謝謝。