Ligando o Apache ao endereço IP específico

3

Eu tenho três IPs. Eu estou tentando ligar o Apache a dois dos meus endereços IP para deixar o terceiro livre para outros usos (Node.js). Atualmente, o Apache está escutando em todos os endereços IP. httpd.conf:

Listen 80

Eu só quero que o Apache se vincule a dois dos meus endereços. Tentei seguir o este doc e substituí o anterior Listen 80 pelo seguinte:

Listen XX.XX.XX.XX:80
Listen XX.XX.XX.XX:80

No entanto, quando tento reiniciar o Apache, recebo o seguinte erro:

Stopping httpd:        [FAILED]
(99)Cannot assign requested address: make_sock: could not bind to address XX.XX.XX.XX:80
no listening sockets available, shutting down

Não entendo como a porta 80 está livre para ser usada em todos os endereços IP, mas quando especifico IPs individuais, ocorrem erros. Alguém tem alguma ideia?

Obrigado.

    
por Kit 24.05.2011 / 14:32

5 respostas

2

Você só precisa vincular 1 endereço IP ao apache.

Listen [myIP1]:80

Isso é tudo que você precisa.

    
por 24.05.2011 / 15:50
5

Geralmente, essa mensagem de erro é devido à digitação do endereço IP errado ou devido à porta 80 já estar em uso no IP especificado. Tente alterar temporariamente a porta para 81 (ou um número não utilizado semelhante) e veja se isso funciona. Se isso acontecer, significa que alguma outra coisa está escutando na porta 80 em um ou ambos os IPs. netstat deve listar todos os serviços que atendem em todos os endereços.

    
por 24.05.2011 / 14:56
1

Você vê os dois ips se você fizer um

ifconfig -a
    
por 24.05.2011 / 14:38
-1

O SSL bloquearia o Apache para escutar na mesma porta.

Teste semanage port -l |grep http_t para obter as portas de escuta disponíveis, para que você possa escolher outra porta e colocar o host virtual para ouvir isso.

    
por 04.04.2013 / 09:18
-1

No ubuntu 12.04 você tinha que adicionar o IP lá (o httpd.conf está vazio) para

NameVirtualHost xx.xx.xx.xx: 80 (se você tiver mais de um domínio no site)
Ouça xx.xx.xx.xx: 80

    
por 01.10.2014 / 10:50