はじめに
概要
本記事は、ローカル開発環境で表示されるエラー「web サーバー ‘iis express’ に接続できませんでした」の原因と対処法をわかりやすく解説します。主にWindows上でVisual StudioとIIS Expressを使ったASP.NET開発を想定していますが、他の環境でも参考になります。
対象読者
- Visual StudioでWebアプリを動かそうとしている方
- ローカルで動かすときに接続エラーが出る方
- エラーメッセージだけで原因が分からない方
この記事の目的と進め方
エラーは一つの原因に限りません。例えば、Windowsアップデート後に設定が変わること、ポート競合やファイアウォール設定、IIS Expressの設定ファイルの不整合などが起こります。具体例を交えて、まずはエラーの見方と発生状況の確認方法、その後に原因別の対処手順を順を追って説明します。
読み方のおすすめ
まず「エラー発生時の状況」を確認してください。Visual Studioの出力ウィンドウ、イベントビューア、IIS Expressのログなどを見れば、原因特定が早まります。本章以降は、できるだけ手順どおりに試せるように構成しました。
エラー概要と発生状況
概要
IIS ExpressはVisual Studioなどで手軽にローカルWebアプリを動かすためのサーバーです。ところが「web サーバー ‘iis express’ に接続できませんでした」「localhostが表示できない」「ERR_CONNECTION_RESET」といったエラーが出ると、ブラウザでページが見られず開発やデバッグが止まってしまいます。
よくある症状(具体例)
- ブラウザで http://localhost または http://127.0.0.1 にアクセスしてもページが表示されない
- Visual Studioでデバッグ開始したときに接続エラーが出て実行できない
- ブラウザに ERR_CONNECTION_RESET や 403/404/500 等のHTTPエラーが表示される
- どのブラウザでも同じ現象が起きる(ブラウザ依存ではない)
- IIS Expressが起動しているように見えるが応答しない
発生しやすいタイミング・状況
- Windowsの更新や再起動後に突然起きる
- 別のアプリが同じポートを使っているとき(ポート競合)
- ファイアウォールやウイルス対策ソフトが通信を遮断したとき
- プロジェクトの設定(ポート番号やSSL)が変更されたとき
- ローカル証明書の問題や設定ファイルの破損があるとき
問題が起きたら、まずブラウザとVisual Studioのエラーメッセージ、IIS Expressのログやタスク状況を確認すると原因のあたりがつきやすくなります。
主な原因とその詳細
1) Windowsアップデート(特にKB5066835)によるHTTP.sysのバグ
特定の更新プログラムがHTTP.sys(WindowsのHTTP処理部分)に不具合を導入し、ローカルのHTTPリクエストを正しく受け付けなくなることがあります。例:更新直後にlocalhostに接続できなくなり、アプリがタイムアウトする症状が出ます。特徴として、サービス自体は起動したままで、ログに接続拒否や800負数のエラーが見られることがあります。
2) IIS ExpressやWebサーバーの設定不備
ルートディレクトリの指定ミス、バインドされているポートの衝突、構成ファイルの破損が原因です。たとえばプロジェクトのポートを別プロセスが使っていると”既に使用中”のエラーが出ます。ディレクトリ参照機能が無効だと静的ファイルが返らない場合があります。
3) ファイアウォールやセキュリティソフトによる通信遮断
OS内蔵のファイアウォールやウイルス対策ソフトがlocalhostや指定ポートへのアクセスをブロックすることがあります。症状はブラウザの接続エラーやツール側の接続タイムアウトで、設定で例外が必要な場合が多いです。
4) TCP/IPやネットワークスタックの問題
TCPポートの枯渇、ループバック(127.0.0.1)解決の異常、Winsockの破損などが含まれます。たとえば大量の短時間接続でポートが枯渇すると、新しい接続が確立できなくなります。
5) プロキシやVPN、ブラウザキャッシュの影響
システムやブラウザでプロキシ設定やVPNが有効だと、ローカル接続が外部経路に回されて失敗することがあります。ブラウザのキャッシュや拡張機能が古い応答を返す例もあります。
各原因はログの出力内容や症状の出方で見分けられます。次章では、それぞれの対処手順を丁寧に説明します。
解決方法・対処手順
1) まずの応急処置(KB5066835環境)
- 対象環境で問題が出る場合はHTTP/2を無効化して動作を確認します。
- レジストリ(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters)でEnableHttp2TlsとEnableHttp2CleartextをDWORD=0に設定します。変更前に必ずレジストリのバックアップと復元ポイントを作成してください。
- すぐに戻したい場合はシステムの復元で更新前の状態に戻します。
2) IIS Express 設定の見直し
- applicationhost.configやプロジェクトのプロパティで「ディレクトリ参照(Directory Browsing)」を有効にします。設定画面が分からない場合は、プロジェクトのWeb設定でIIS Expressのオプションを確認してください。
- 既定ドキュメント(index.html、default.aspxなど)を追加して、要求に対する応答を確実にします。
3) ネットワークとファイアウォール
- TCP/IPのリセットを実行します(管理者コマンドプロンプトで: netsh int ip reset、netsh winsock reset を実行後に再起動)。
- ファイアウォールやセキュリティソフトがブロックしていないか確認し、IIS Express(または使用ポート)を例外に追加して一時的に無効化してテストしてください。
4) 開発ツールの修復・再インストール
- Visual StudioやIIS Expressを修復インストールします。コントロールパネルの「プログラムと機能」から修復を実行できます。
5) ブラウザとプロキシの確認
- ブラウザのキャッシュとCookieを削除して再読み込みします。
- プロキシ設定(Windowsのインターネットオプション→接続→LANの設定)を無効にして直接接続で動作確認してください。
6) 作業の進め方とログ取得
- 変更は一つずつ行い、効果を確認してから次に進めます。
- 問題が続く場合はEvent ViewerやIIS Expressのログ、ブラウザの開発者ツールのネットワークタブを保存して原因特定に役立ててください。
まとめ・注意点
以下はKB5066835に伴う問題について、実務で押さえておくべき要点と注意点です。
重要なポイント
- 問題は2025年秋時点で深刻であり、当面は応急処置で対応する場面が多いです。恒久的修正を待つ姿勢も必要です。
事前準備(必須)
- バックアップを必ず取ってください。開発環境はイメージまたはファイル単位で保存します。復元ポイントも作成してください。
対処の順序と切り分け
- 設定変更、ネットワーク、セキュリティの順で一つずつ確認します。例:まずWindowsの設定を元に戻し、次にネットワーク機器の疎通確認、最後にウイルス対策設定を確認します。問題が再現する箇所を特定しておくと復旧が早まります。
運用上の注意
- 本番環境では応急処置のみで稼働させ続けるとリスクが残ります。可能なら影響範囲を限定した環境で長期運用テストを行ってください。
情報収集と今後の対応
- Microsoftの公式情報やベンダーの修正パッチを適宜確認してください。アップデートで対処法が変わる可能性があるため、適用前に影響範囲を再確認する習慣を付けると安全です。
以上を踏まえ、落ち着いて一つずつ原因を切り分け、バックアップと復元手段を常に用意して作業してください。












