2014-01-14 81 views
0

所以。我使用Nginx作为负载平衡器来加载两个实例之间的流量。Nginx反向代理子目录到根

假设我的Nginx负载均衡器位于platform.staging.com(示例)。

我试图从

platform.staging.com/sync 

将流量重定向到其中的一个:

sync1.staging.com:12345 
sync2.staging.com:12345 

注意什么,我想实现是有/同步部分剥离下来,并请求同步实例应该有路径/。

这是我试过,但它不工作:

upstream sync-cluster { 
    ip_hash; 
    server sync1.staging.com:12345; 
    server sync2.staging.com:12345; 
} 

server { 
    listen 443 ssl spdy; 
    server_name platform.staging.com; 

    location /sync { 
    proxy_pass http://sync-cluster; 
    } 
} 

在日志中我可以看到:

2014/01/14 23:20:38 [error] 2385#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: XX.XXX.XX.XXX, server: platform.staging.com, request: "GET /sync HTTP/1.1", upstream: "http://X.X.X.XXX:12345/sync", host: "platform.staging.com" 

回答

0

尝试做代理通之前增加一个重写,我会假设你打算保留/sync后面的内容,希望这能帮到你

location ^~ /sync(.*) { 
    rewrite^$1; 
    proxy_pass ...; 
}