【问题标题】:Unable to make NginX load balancing无法使 NginX 负载均衡
【发布时间】:2017-07-30 03:45:43
【问题描述】:

我是 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/;             
}

我的动机是,每当我尝试输入一个包含“/test”的网站名称,然后重定向到 “servers_customserver”。

Nginx 在 localhost:8070 中很好。

但每当我执行 localhost:8070/test 时,我都会在浏览器中收到“404 Not Found nginx/1.12.0”。我确信我的服务已经启动了。

我需要在 IIS 或任何网络服务器中使用我的服务才能使其正常工作吗?

谁能指导我解决这个错误。

谢谢。

【问题讨论】:

  • 您也可以在这里提供访问日志吗?我猜你的 proxy_pass 上的最后一个斜杠可能是问题尝试proxy_pass http://servers_customserver;
  • @zochamx。谢谢回复。我尝试删除“/”但仍然没有解决这个问题。访问日志:127.0.0.1 - - [31/​​Jul/2017:10:44:50 +0530] "GET /test 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 [错误] 9148#7844: *79 CreateFile() "F:\IDE\Visual Studio Collection\ Web Servers\nginx-1.12.0\nginx-1.12.0/html/test”失败(2:系统找不到指定的文件),客户端:127.0.0.1,服务器:localhost,请求:“GET /test HTTP/ 1.1”,主机:“本地主机:8070”谢谢。
  • @zochamx:我注意到错误日志中有斜线“/”和“\”。 “....nginx-1.12.0/html/test”失败....”这是根本原因吗?同时,在名为 test.html 的“html”文件夹中创建了一个空文件进行检查。仍然面临同样的问题。任何其他问题。谢谢。
  • 哦,你在 Windows 上!好的,让我们看看,从您的日志来看,nginx 似乎与您的位置不匹配,否则您会在日志中看到代理请求。你能给出整个配置文件吗?例如,您是否正确关闭了服务器块?

标签: wcf nginx load-balancing


【解决方案1】:

幸运的是,

将以下步骤添加到位置块后,负载平衡对我有用。

        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;

谢谢。

【讨论】:

    猜你喜欢
    • 2013-04-28
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 2013-08-26
    • 2012-11-15
    • 2012-08-27
    • 2019-04-10
    相关资源
    最近更新 更多