2015-05-05 5 views
0

У меня в моей конфигурации nginx вверх по течению с 3 серверами. Мне нужно установить эту конфигурацию для приоритета ... Если мой сервер 1 подключен к нему, обратитесь к нему. Если мой сервер1 выключен, все соединение перейдет на сервер 2 Если мой сервер 2 отключен, все соединение перейдет на сервер 3.Nginx upstream active passive

Возможно ли это?

Я установил директиву ip_hash и установил резервную копию директивы для своих серверов2 и 3 в моем восходящем потоке. Но, похоже, это не работает. Есть ли у вас предложение?

Возможно также добавить условие, что на моем сервере1 есть ошибка 404, перейдите на следующий сервер в порядке? Спасибо

Это моя конфигурация Nginx .. но когда IP 192.168.10.1 Nginx перейти в режим круговом для 192.168.10.2 и 192.168.10.3, и это не хорошо для моей почты веб-сервер

upstream mail { 
     #ip_hash; 
     server 192.168.10.1:80; 
     server 192.168.10.2:80 backup; 
     server 192.168.10.3:80 backup; 
     #health_check; 
    } 




server { 
    listen  443 ssl; 
    server_name mail.test.com; 
    location/{ 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $host; 
     proxy_set_header  X-Forwarded-Proto $scheme; 
     add_header Front-End-Https on; 
     proxy_pass http://mail; 
    } 
} 
+1

404 действительный код, и если он получен из бэкэнд, бэкэнд считается рабочим. Вы можете перенаправить страницу 404 в какое-то место, где вы будете обслуживать запросы только со второго и третьего восходящего потока. Все это в [документации] (http://nginx.org/en/docs/). [Upstream] (http://nginx.org/en/docs/http/ngx_http_upstream_module.html#server), например: «backup помещает сервер в качестве резервного сервера. Это будут переданные запросы, когда первичные серверы недоступны ». «кажется, что не работает» - это не правильный вопрос в какой-либо мере. –

+0

@ Daniele У вас есть ответ на этот вопрос? – Richard

ответ

-1

Вы можете пометить серверы как резервные, используя директиву «backup» при настройке вверх по потоку. Эти серверы используются, когда все обычные серверы восходящего потока перестают отвечать на запросы.

upstream backend { 
     server 1.0.1.1; 
     server 1.0.1.2 backup; 
     server 1.0.1.3 backup; 
} 
+0

Эта работа, но в режиме трубопровода верна? –

+0

yup thats правильный. –

+0

В моей тестовой среде кажется, что два сервера резервного копирования находятся в режиме циклического роуминга ... и это не хорошо для меня ... Мне нужно использовать директиву ip_hash, которая conflit с ключевым словом резервного копирования. У меня есть обновленный вопрос –

1

Да, возможно, вам нужно 2 вверх по течению раздел и 1 дополнительный раздел сервера, такие как:

upstream backend { 
    server server1.net; 
    server 127.0.0.1:8010 backup; 
} 

upstream fallback { 
    server server2.net; 
    server server3.net backup; 
} 

server { 
    listen 127.0.0.1:8010; 
    location/{ 
     proxy_pass http://fallback; 
     proxy_next_upstream invalid_header http_500 http_502 http_504 http_403; 
    } 
} 

Я надеюсь, что это решение поможет вам.