2017-07-30 87 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; 

谢谢。