Apacheで遊んでいるだけで、動作するようになりました。つまり、http://127.0.0.1
にアクセスしてサーバーに接続できます。 およびhttp://192.168.1.5
IPv6を実行していません
しかし、これはnetstatの結果です
$ sudo service apache2 status
* apache2 is running
$ netstat -an | grep :80
tcp6 0 0 :::80 :::* LISTEN
$ wget 127.0.0.1
--2014-06-26 01:32:15-- http://127.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11510 (11K) [text/html]
Saving to: ‘index.html’
100%[=====================================================================================================>] 11,510 --.-K/s in 0s
2014-06-26 01:32:15 (161 MB/s) - ‘index.html’ saved [11510/11510]
私はそれが明らかにする通常のTCPでリッスンするのを見ることを期待していました!?
編集:
$ netstat -a | grep LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:mysql *:* LISTEN
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
tcp6 0 0 [::]:https [::]:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
Edit2:
なぜ反対票を投じるのですか?何が欠けているのでしょうか?
承認された回答:
TL; DR
Apacheはします netstat
に表示されます 出力、そしてそれはです ランニング。そのため、wget
呼び出しは機能します。ただし、IPv4アドレスではなくIPv6アドレスにバインドされます。アドレスマッピングは、必要に応じて変換を処理します。
ドキュメントを探す
ここには明らかにいくつかのIPv6-IPv4フォールバックメカニズムがあります。実際のところ、ローカルネットワークではまだIPv6を使用していません:
$ netstat -tunla | grep LISTEN | grep 80
tcp6 0 0 :::80 :::* LISTEN
マシンをどのようにアドレス指定しても、最終的には同じサービスとポートであることに注意することが重要です。残りは主にブラウザとDNS解決サービス次第です。ただし、Apacheがこれを処理する方法の詳細については、ドキュメントを参照してください:
Apache管理者にとって複雑な要因の1つは、IPv6ソケットがIPv4接続とIPv6接続の両方を処理できるかどうかです。 IPv6ソケットを使用したIPv4接続の処理では、IPv4にマップされたIPv6アドレスを使用します。これは、ほとんどのプラットフォームでデフォルトで許可されていますが、FreeBSD、NetBSD、およびOpenBSDでは、これらのプラットフォームのシステム全体のポリシーに一致させるためにデフォルトで許可されていません。デフォルトで許可されていないシステムでは、特別なconfigureパラメーターによってApacheのこの動作が変更される可能性があります。
基本的に、これは、クロスプラットフォームの互換性とソケット処理に関連するほとんどの問題を回避する方法で、IPv4とIPv6の両方のソケットを処理することに関するものです。ご覧のとおり、UbuntuなどのLinuxプラットフォームでは、この問題はIPv4にマップされたIPv6アドレスを使用して解決されます。ドキュメントには次のようにも記載されています:
プラットフォームとAPRがサポートするものに関係なく、ApacheでIPv4接続のみを処理する場合は、すべてのListenディレクティブでIPv4アドレスを指定します。
これはports.conf
でこのようなものを与えるでしょう ファイル:
Listen 0.0.0.0:80 # Or...
Listen 127.0.0.1:80 # Or...
Listen 192.0.2.1:80
次のnetstat
のいずれかになります 出力…
$ netstat -tunla | grep LISTEN | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
$ netstat -tunla | grep LISTEN | grep 80
tcp 0 127.0.0.1:80 127.0.0.1:80 LISTEN
$ netstat -tunla | grep LISTEN | grep 80
tcp 0 192.0.2.1:80 192.0.2.1:80 LISTEN
美しいが、IPv6に対応していないリスナー。上記の設定は通常、/etc/apache2/ports.conf
で設定されます。 (または直接apache2.conf
古いバージョンの場合)。デフォルト値はListen 80
です。 、自動を実行します バインディング、つまり、ドキュメントに記載されているIPv6仕様に準拠しています。