Hosts virtuais Nginx para vários contêineres LXC

1

Estou com a seguinte configuração:

Eu tenho 5 contêineres LXC que estão executando o nginx. Em cada contêiner, há alguns hosts virtuais configurados no nginx. Isso significa que para um contêiner eu tenho vários hosts virtuais que estão disponíveis através da porta 80.

Cada contêiner tem um IP como 10.0.3.100, 10.0.3.101, etc.

Na máquina host, também tenho um servidor nginx em execução que possui hosts virtuais definidos.

Gostaria de saber como posso conseguir o seguinte: Os hosts virtuais nginx na máquina host para mapear em cada host virtual nos contêineres.

Por exemplo: HOST: d1.example.com - > CONTAINER1: d1.example.com HOST: d2.example.com - > CONTAINER1: d2.example.com HOST: d3.example.com - > CONTAINER2: d3.example.com

Todos eles devem estar disponíveis na porta 80.

Existe alguma maneira de conseguir essa configuração?

    
por roshkattu 28.11.2015 / 23:13

1 resposta

0

Este é um proxy reverso e a diretiva que você está procurando é proxy_pass . A instância do host de nginx terá vários contêineres server , como:

server {
  listen 80;
  server_name d1.example.com;
  location / {
    proxy_pass       http://10.0.3.100;
    proxy_set_header Host              $host;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Accept-Encoding   "";
  }
}

Veja a documentação do módulo de proxy e o Documentação WebSocket (se aplicável).

    
por 29.11.2015 / 11:56