首頁  >  問答  >  主體

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

系统redhat7
,httpd已经启动

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

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

PHPzPHPz2743 天前926

全部回覆(1)我來回復

  • 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/...

    回覆
    0
  • 取消回覆