Я просто играю с Apache, и я получил его на работу, то есть я могу подключиться к серверу, просмотрев http://127.0.0.1
и http://192.168.1.5
я не использую IPv6
Все же это результат 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]
Я ожидал увидеть, как он слушает обычный TCP, что он явно делает !?
Редактировать:
$ 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: почему голосование против? Чего мне не хватает, может кто-нибудь уточнить?
netstat -p
?Ответы:
TL; DR
Apache делает появится в вашем
netstat
выходе, и он будет запущен. Вот почему вашwget
звонок работает. Однако он привязан к вашему IPv6-адресу, а не к IPv4-адресу. Адресное сопоставление обрабатывает перевод при необходимости.Идя за документами
Очевидно, здесь есть какой-то механизм отката IPv6-IPv4. На самом деле, я еще не использую IPv6 в своей локальной сети:
Важно отметить, что независимо от того, как вы обращаетесь к своей машине, в конечном итоге это все тот же сервис и порт. Остальное в основном зависит от вашего браузера и службы разрешения DNS. Однако для получения дополнительной информации о том, как Apache справляется с этим, вы можете посмотреть их документацию :
По сути, речь идет об обработке сокетов IPv4 и IPv6 таким образом, чтобы избежать большинства проблем, связанных с кроссплатформенной совместимостью и обработкой сокетов. Как вы можете прочитать, на платформах Linux, таких как Ubuntu, эта проблема решается с использованием IPv4-сопоставленных адресов IPv6 . В документации также говорится:
Что бы дать что-то вроде этого в
ports.conf
файле:В результате один из следующих
netstat
выводов ...Красивый, но не готовый к прослушиванию IPv6. Вышеуказанная настройка обычно устанавливается в
/etc/apache2/ports.conf
(или непосредственно вapache2.conf
более старых версиях). Значением по умолчанию является тоListen 80
, которое выполняет автоматическое связывание, то есть соответствует спецификациям IPv6, приведенным в документации.источник