4

こんにちは、素晴らしい Stackoverflow ユーザーです。

これは私に起こった面白いことです - 理由を説明できますか?

昨日の勤務時間の途中で、IIS Express のインストールが機能しなくなりました。

最初は、私が取り組んでいた ASP.NET プロジェクトの問題だと思いました。ページがタイムアウトするまでハングし続けたため、ハングして起動に失敗しただけでした。次に、localhost:8080 で実行するように設定された他のプロジェクトをいくつか試してみましたが、どちらも読み込まれませんでした。

さて、それらがロードされないと言ったとき。まったく活動していないということです。ページは長い間クロムで「ロード」され、最終的にクロムのタブにタイムアウトエラーが表示されるまで、IISExpress コンソールは GET 要求を登録しませんでした。

今朝、私は(いくつかの助けを借りて)何かを理解しました-何らかの理由でpingを実行すると、ipv4アドレスの代わりにlocalhostipv6アドレスが返されます-これまでこの動作に気づいていなかったし、ネットワーク設定を変更していません.::1:127.0.0.1

HOST ファイルを編集し、ipv4 アドレス127.0.0.1 localhostを強制的に返すためのエントリを含めました。ping localhostこれは機能し、IIS Express を再度 localhost:8080 にバインドしようとしたときにも機能しました。

私の質問は; 一体全体?!?!

なぜこれが起こったのかわかりません。HOSTファイルを編集することで個々の問題を解決できたことは知っていますが、一体なぜこれが起こったのか誰か知っていますか?

なぜping localhost突然ipv6アドレスを返し始めるのか、何か考えはありますか? また、IIS Express が ipv6 で動作しない理由はありますか? (私は、IIS エンジンにそれが組み込まれていると思います)。

これ以上の問題を回避するために、また好奇心のために、何が起こったのかを理解したいと思います。

情報をお寄せいただきありがとうございます。

フィル

4

2 に答える 2

0

システムでIPv6が有効になっている限り、::1と127.0.0.0はどちらも「localhost」の有効なアドレスです。プログラムがIPv4またはIPv6アドレスを具体的に要求しない限り、2つのうちどちらがシステムによって返され、たとえばpingに使用されるかは、多かれ少なかれ非決定的です。Windowsのpingはどちらも処理できるため、おそらくそれは行われませんでした。

IISの場合、このような回答は、この動作が意図的なものであり、IPv6アドレスへのバインドを個別に有効にする必要があることを示しています:https ://serverfault.com/questions/123796/get-iis-7-5-to-listen- on-ipv6

于 2013-01-16T13:11:23.407 に答える