Proxy Reverso NGINX único servindo dois servidores de webmail para Failover

1. Proxy Reverso NGINX único servindo dois servidores de webmail para Failover

Daniel Alves Leandro
tri_do_mundo

(usa CentOS)

Enviado em 20/12/2012 - 20:33h

Senhores, preciso configurar o NGINX como Proxy Reverso para servir dois servidores de webmail (Lotus iNotes) em cluster. A intenção é ter apenas failover entre os servidores, ou seja, se o webmail primário estiver fora, o secundário assumir automaticamente, não sendo necessário balanceamento de carga.

Porém, pesquisando achei um pouco confuso e pelo que pesquisei sobre NGINX só achei configurações a respeito de dois servidores NGINX em cluster junto com o Heartbeat, porém não achei nada sobre uma configuração que acredito ser mais simples, com apenas um servidor NGINX servindo outros dois servidores.

Atualmente o meu NGINX está configurado como abaixo, servindo apenas o primeiro nó e está funcionando corretamente, porém queria adicionar o segundo nó do webmail.

server {
listen 80;
server_name webmail.dominio.com.br;

access_log off;
error_log off;

location / {
proxy_pass http://172.16.0.21/; # IP do nó 1 do webmail
proxy_redirect off;


Poderiam me ajudar por favor dando uma luz sobre como eu poderia adicionar a configuração para o segundo nó (172.16.0.22)?

Desde já, obrigado.

Daniel



  


2. Re: Proxy Reverso NGINX único servindo dois servidores de webmail para Failover

Daniel Alves Leandro
tri_do_mundo

(usa CentOS)

Enviado em 21/12/2012 - 22:57h

Alguém poderia me ajudar?

Eu consegui o que eu queria, com o código abaixo:


upstream web.dominio.com.br {
server 172.16.0.21 weight=100000; # NOTESSP01
server 172.16.0.22; # NOTESSP02
}

server {
listen 80 default_server;
location / {
proxy_pass http://web.dominio.com.br;
proxy_set_header X-Real-IP $remote_addr;
proxy_next_upstream timeout;
}
}




Pelo que testei, está funcionando corretamente o Cluster, porém agora eu tenho que adicionar um terceiro servidor (172.16.0.36), sem ligação com esses dois primeiros, que será acessado por uma URL diferente (http://filial.dominio.com.br).

Como eu faria isso no NGINX, em cima desta configuração atual? Eu teria que utilizar o conceito de Virtual Hosts ou por ser outro host porém no mesmo domínio, o VHost não seria necessário? E no caso do VHost, o meu não tem os arquivos default de exemplo, nem os diretórios sites-enabled e sites-available.. isso é normal? Posso criá-los manualmente ou tem uma forma específica para ativar isso?

Obrigado.

Daniel






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts