投稿

2月, 2025の投稿を表示しています

hostファイルが原因でIISのアプリケーションプールが停止する

イメージ
これまで検証用のPCでIISが動作しないという現象にしばし出くわしていたが、その原因が判明した。通常利用ではあまり該当しないと思うが、検索しても出てこないので公開しておく。 現象 IISの起動後にWebアクセスすると「503 Service Unavailable」が返ってくる。IISマネージャで見てみるとアプリケーションプールが停止している。またWindowsイベントログには次のような警告が残されている。 イベントID: 5139 ソース: WAS アプリケーション プール 'ASP.NET v4.0' に使われているワーカー プロセス '3336' のプロトコル 'http' に対するリスナー チャネルはリスナー チャネル エラーを報告しました。データ フィールドにはエラー番号が含まれています。 このデータフィールドには 80072AFC ( FC 2A 07 80 )が含まれている。 AppPoolの停止自体はこのエラーが5回連続で発生したためラピッドフェール保護により実行される(直後のエラーログ)。 原因 ネットで検索すると、コンピュータ名に空白を含む場合や実行ユーザの権限の問題などが出てくる。しかし今回の原因はhostファイルだった。 注釈:hostファイル 「C:\Windows\System32\drivers\etc\host」のテキストファイル。ホスト名-IPアドレスの対応を手動で設定する。DNSがないローカル接続の業務システムなんかではたまに利用されている。 このhostファイルに、自身のコンピュータ名に対して実際には無いIPアドレスが設定されていた。この設定を削除したら正常に稼働するようになった。 おそらくコンピュータ名から正引きしたIPアドレスに対してバインドしようとして、ソケットエラーが発生してたのだと推測される。 今回は検証用に流用したPCだったので、過去の設定が残っていてこのような現象が発生した。 以上。