2014-01-14 4 views
0

So. Я использую Nginx как балансировщик нагрузки для загрузки трафика между несколькими экземплярами.Nginx reverse proxy в подкатегории корня

Скажем, мой нагрузочный барабан 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 ...; 
}