Como ter um IP com vários servidores

1

Portanto, a pergunta acima é bastante auto-explicativa, mas explicarei mais a fundo abaixo.

Eu tenho um site, vamos chamá-lo example.com. No momento, eu tenho o link de , que tem o endereço DNS de 10.0.1.1 (: 80), que é encaminhado para 192.168 .0.14 na minha rede.

Eu também quero ter um site no link que seria hospedado no meu outro servidor, mas eu só tenho apenas um roteador, portanto, um endereço IP.

Eu tentei usar um VirtualHost no meu arquivo de configuração do Apache, mas ele não pode especificar um diretório em outro dispositivo

Alguém poderia me ajudar ou me indicar um recurso que poderia? Qualquer ajuda seria apreciada

    
por Antobat 28.03.2017 / 15:47

2 respostas

2

Eu definitivamente faria isso com um proxy reverso Nginx.

Você pode ter nginx na mesma máquina que seu servidor apache e pode configurá-lo para redirecionar solicitações para o servidor secundário com base na URL.

Neste exemplo, o apache foi (previamente) configurado para servir example.com na porta 8080, enquanto o edu.example.com é exibido em x.x.x.100: 80

server { 
server_name example.com;

  # app1 reverse proxy follow
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://127.0.0.1:8080;

}

server { 
  server_name edu.example.com;

  # app2 reverse proxy settings follow
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://x.x.x.100:80;
}

Você provavelmente precisará expandir o exemplo com definições para acesso e registros de erros.

Outra grande vantagem que essa configuração oferece é o descarregamento de SSL / TLS: você pode fazer com que os back-ends apache sirvam http e nginx simples para servir https ativados para SSL / TLS, para que você tenha seus certificados em um único servidor, o que facilita muito e mais arrumado para manter.

    
por 28.03.2017 / 16:39
1

Você precisa configurar uma diretiva de proxy para o Apache para fazer isso. Veja a diretiva ProxyPass na página mod_proxy do Apache para obter detalhes.

    
por 28.03.2017 / 15:53