web-dev-qa-db-ja.com

netstatによると、IPv6でリッスンしているが、IPv4で到達可能なHTTPD

Openstackを使用して、サーバー(HTTPS)でホストされているWeb GUI(水平)を持っています。

netstat -lt | grep https、 私が持っています:

tcp6       0      0 [::]:https              [::]:*                  LISTEN

lsof -i :443、 私が持っています:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd    5250   root    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17675 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17676 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17677 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17678 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17679 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17680 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17681 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17682 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   27444 Apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)

ただし、サーバーはIPv4で到達可能です。私にとっては大丈夫ですが、なぜ次のようなnetstatのエントリがないのでしょうか。

tcp       0      0 0.0.0.0:https              0.0.0.0:*                  LISTEN
6
Antonin M.

Linuxでは、[::](IPv6)にバインドすると、IPv6とIPv4の両方のトラフィックが受信される(デフォルト)と思います。これらはIPv4マップIPv6アドレスと呼ばれていると思います。 netstatは単にIPv6エントリのみを示しています。技術的にはバインドが1つしかないため、たまたまIPv4とIPv6の両方をサポートしているためです。

Apacheサイト には少し情報があります。

ソフトウェアがIPv4にマップされたIPv6アドレスを使用せず、0.0.0.0と[::]の両方に個別にバインドして、netstatに2回表示される可能性がありますが、これは開発者側の設計上の選択です。

15
EightBitTony