O servidor Apache não está escutando no IPv4, mas escutando no IPv6

1

Estamos enfrentando um problema estranho em um dos nossos servidores apache RHEL.

Na verdade, não está escutando na porta 80 de hosts remotos. Quando procuramos localmente http://localhost , ele está abrindo a página padrão. Quando verificamos a porta de escuta por meio de netstat , descobrimos que apenas tcp6 interface estava ouvindo em :::80 . E não houve entrada para tcp , e essa entrada deve estar presente como

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN

Eu tentei pesquisar em muitos fóruns por esse problema, mas nenhuma das soluções sugeridas funcionou. Em httpd.conf , alteramos Listen 80 para Listen 0.0.0.0:80 e Listen 127.0.0.0:80 mas não abriu a porta 80 para acessar de hosts remotos. IPtables está desativado desde o início.

Como podemos configurar o servidor para escutar no IPv4?

    
por amol 24.08.2017 / 16:09

2 respostas

1

assiduus@localhost:~/httpd-2.4.34$ ./configure --help | grep IPv6
--enable-v4-mapped      Allow IPv6 sockets to handle IPv4 connections
assiduus@localhost:~/httpd-2.4.34$

Isso é ativado por padrão quando você compila o Apache httpd a partir da origem. Se você usou seu pacote binário de distribuição, aparentemente esta opção está ativada.

    
por 18.07.2018 / 14:49
0

Use algo semelhante a essa configuração:

<VirtualHost *:80>
   ServerName www.domain.com
   ServerAlias domain.com

   DocumentRoot /path/to/your/webroot/
   ...

</VirtualHost>

O ": 80" permite que seu servidor da Web escute em todos os endereços IP na porta 80; no entanto, isso não entrará em vigor até que o arquivo de configuração virtualhost recém-criado seja ativado e o servidor da web é reiniciado.

Ativar sua nova configuração de virtualhost:

a2ensite domain.com.conf

Reinicie o servidor da web

service apache2 restart

Para verificar se o servidor da web atende tanto no ipv4 quanto no ipv6, verifique com:

netstat -plunt |grep ":80"

Deixe-me saber se esta ajuda:)

    
por 26.08.2017 / 11:32