Назад | Перейти на главную страницу

Почему эта директива прослушивания IPv6 также не принимает IPv4?

В моей настройке nginx (1.4.2) на Ubuntu 12.04 я установил только один файл конфигурации (остальные я удалил / отключил):

server {
  listen [::]:80 default_server;

  location / {
    root /home/lwood/websites/default/public;
  }
}

Я перезапустил nginx.

Почему nginx не принимает соединения IPv4? Вот документы

http://wiki.nginx.org/HttpCoreModule#listen

Они упоминают, что

В Linux по умолчанию любой сокет IPv6 TCP также принимает трафик IPv4 ... параметр времени выполнения: net.ipv6.bindv6only, который по умолчанию имеет значение 0.

Я проверил с sysctl, bindv6only действительно имеет значение 0. Так что моя директива прослушивания IPv6 должна также принимать IPv4, верно?

Я, должно быть, неправильно понял документы. Объяснение будет оценено.

Вики устарела. Как указано в в актуальный документация, значение по умолчанию для ipv6only является on начиная с nginx 1.3.4. Если вы опустите параметр, то nginx будет связываться только с IPv6. Настройки ОС никогда не используются.