Rumah  >  Soal Jawab  >  teks badan

linux - httpd 443端口为什么只监听在tcp6上

系统redhat7
,httpd已经启动

[root@rhcsa conf.d]# netstat -tnpl | grep 443
tcp6       0      0 :::443                  :::*                    LISTEN      1229/httpd

为什么如上命令只显示tcp6,而没有tcp ?

PHPzPHPz2743 hari yang lalu928

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-04-17 15:57:34

    监听了tcp6后,tcp也可以用的。

    虽然这个只显示了IPv6的端口监听,但并不代表只接受IPv6的连接,实际上,apache会以mapped address (::FFFF:a.b.c.d) 方式来接受IPv4的连接。除了少部分平台上,例如FreeBSD,NetBSD,OpenBSD之外, Apache在编译时,默认启用了 --enable-v4-mapped 选项。所以,Apache会同时接受IPv6和IPv4的连接请求。
    除非是 IPV6_V6ONLY 模式开启,才需要两个不同的socket来分别监听IPv6和IPv4.IPV6_V6ONLY模式可以通过 sysctl net.ipv6.bindv6only 来控制,默认是关闭的。如果你实在愿意在netstat中只看到IPv4端口的监听,那么,你可以修apachezhttp.conf 中,将
    Listen 80
    修改为
    Listen 0.0.0.0:80

    具体信息,请参考 http://httpd.apache.org/docs/...

    balas
    0
  • Batalbalas