加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

ubuntu – 为什么这个IPv6 listen指令也不接受IPv4?

发布时间:2020-12-13 21:12:57 所属栏目:Nginx 来源:网络整理
导读:在我的Ubuntu 12.04上的nginx(1.4.2)设置中,我只设置了一个配置文件(我删除/禁用了其他配置文件): server { listen [::]:80 default_server; location / { root /home/lwood/websites/default/public; }} 我重新启动了nginx. 为什么nginx不接受IPv4连接?这

在我的Ubuntu 12.04上的nginx(1.4.2)设置中,我只设置了一个配置文件(我删除/禁用了其他配置文件):

server {
  listen [::]:80 default_server;

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

我重新启动了nginx.

为什么nginx不接受IPv4连接?这是文档

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

他们提到这一点

In Linux by default any IPv6 TCP socket also accepts IPv4 traffic … the runtime parameter: net.ipv6.bindv6only which has the value 0 by default.

我已经用sysctl检查过,bindv6only确实设置为0.所以我的IPv6 listen指令也应该接受IPv4,对吗?

我一定是误解了文档.一个解释将不胜感激.

最佳答案
维基已经过时了.如the actual documentation中所指定,自nginx 1.3.4起,ipv6only的默认值为on.如果省略该参数,则nginx将仅绑定到IPv6.从不使用操作系统设置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读