iptables roteamento por dest. domínio em vez de dest. IP?

1

Temos um servidor web com várias instâncias de apache ouvindo em várias portas (8080, 80801, 8082, por exemplo).

atualmente temos uma instância nginx ouvindo na porta 80, que recebe as solicitações e as envia por proxy para a porta de instância adequada pelo nome de domínio.

Seria possível fazer a mesma coisa com o iptables?

    
por jduncan 21.02.2010 / 21:20

3 respostas

2

Não; não há conceito de "domínio de destino" no nível de IP, apenas endereço IP de destino, então o iptables não pode ajudá-lo - o nginx depende do domínio solicitado ser transmitido como parte da URL na solicitação de HTTP; mas você pode obter o efeito diretamente no apache , sem exigir a instância nginx.

    
por 21.02.2010 / 21:26
2

Você não pode fazer isso. Em uma solicitação HTTP, o "domínio" é transmitido no cabeçalho Host: Layer 7 . As regras do iptables só têm acesso às informações do nível de Camada 4 / TCP.

    
por 21.02.2010 / 21:38
0

Uma maneira limpa de configurar isso, se você puder pagar pelo uso de endereço adicional, é fazer com que cada domínio aponte para um endereço IP diferente. Em seguida, configure todos os endereços nesse host e deixe que cada instância do Apache se vincule à porta 80 de um único endereço (use a sintaxe Listen Address:Port ) e você poderá remover o nginx.

    
por 23.02.2010 / 23:07