Estou apenas brincando com o apache e consegui que funcionasse, ou seja, eu posso conectar ao servidor navegando para http://127.0.0.1
e http://192.168.1.5
não estou executando o IPv6
No entanto, este é o resultado do netstat
$ sudo service apache2 status
* apache2 is running
$ netstat -an | grep :80
tcp6 0 0 :::80 :::* LISTEN
$ wget 127.0.0.1
--2014-06-26 01:32:15-- http://127.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11510 (11K) [text/html]
Saving to: ‘index.html’
100%[=====================================================================================================>] 11,510 --.-K/s in 0s
2014-06-26 01:32:15 (161 MB/s) - ‘index.html’ saved [11510/11510]
Eu esperava vê-lo ouvindo em um TCP comum, o que claramente faz !?
Editar:
$ netstat -a | grep LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:mysql *:* LISTEN
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
tcp6 0 0 [::]:https [::]:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
Edit2: Por que o voto negativo? O que estou perdendo, alguém pode elaborar?
netstat -p
?Respostas:
TL; DR
Apache não aparecer na sua
netstat
saída, e ele está em execução. É por isso que suawget
ligação funciona. No entanto, ele está vinculado ao seu endereço IPv6 em vez do seu endereço IPv4. O mapeamento de endereços lida com a tradução quando necessário.Indo para os documentos
Obviamente, há algum mecanismo de fallback IPv6-IPv4 aqui. De fato, ainda não uso o IPv6 na minha rede local:
É importante observar que, independentemente de como você endereça sua máquina, ainda é o mesmo serviço e porta no final. O restante depende principalmente do seu navegador e dos serviços de resolução de DNS. No entanto, para obter mais informações sobre como o Apache lida com isso, consulte a documentação deles :
Basicamente, trata-se de lidar com soquetes IPv4 e IPv6 de maneira a evitar a maioria dos problemas relacionados à compatibilidade entre plataformas e ao manuseio de soquetes. Como você pode ler, em plataformas Linux como o Ubuntu, esse problema é resolvido usando endereços IPv6 mapeados para IPv4 . A documentação também afirma:
O que daria algo assim no
ports.conf
arquivo:Resultando em uma das seguintes
netstat
saídas ...Um ouvinte bonito, mas não preparado para IPv6. A configuração acima geralmente é definida
/etc/apache2/ports.conf
(ou diretamente nasapache2.conf
versões mais antigas). O valor padrão éListen 80
, que executa uma ligação automática , ou seja, em conformidade com as especificações IPv6 fornecidas na documentação.fonte