問題のインデックス
IIS で構築された Web サイトにアクセスしたときに「500 - 内部サーバーエラー」メッセージが表示された場合の対処方法
IIS で構築された Web サイトにアクセスしたときに「403.14-Forbidden」エラーが表示された場合の対処方法
IIS で構築された Web サイトにアクセスしたときに「0x80070002 指定されたファイルが見つかりません」というエラーが表示された場合の対処方法
FTP over TLS を使用して IIS サービスによって作成された FTP サイトに接続したときに「534 ポリシーには SSL が必要です」というメッセージが表示された場合の対処方法
IIS を使用して作成された Web サイトにアクセスしたときに「Bad Request - Invalid Hostname」エラーが表示された場合の対処方法
IIS で構築された Web サイトにアクセスしたときに「500 - 内部サーバーエラー」メッセージが表示された場合の対処方法
原因
詳細なエラーの非表示: デフォルトでは、IIS はリモートクライアントに一般的な「500 エラー」ページを表示します。これにより、コードパスやデータベース接続文字列などの機密性の高いサーバー情報が公開されるのを防ぎます。
構成またはコードの欠陥: 通常、根本原因は
web.configファイルの構文エラーまたはアプリケーションコードの例外です。
解決策
IIS でサイトの [詳細なエラー] を有効にできます。これにより、サーバーはエラーの具体的な原因とコードの行番号をブラウザに表示します。これは、問題を正確に特定するのに役立ちます。
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
IIS マネージャーを開きます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。
[サーバーマネージャー] ページの右上隅で、 を選択します。
詳細なエラーを有効にします。
[インターネットインフォメーションサービス (IIS) マネージャー] ページの左側のナビゲーションウィンドウで、対象の Web サイトをクリックします。

[IIS] セクションで、[エラーページ] をダブルクリックします。

右側の [操作] ウィンドウで、[機能設定の編集] をクリックします。[詳細なエラー] を選択し、[OK] をクリックします。
Web サイトにアクセスして、詳細なエラーメッセージを表示します。
Ctrl+F5を押して強制的にリフレッシュします。ブラウザには、web.configなどのどの構成ファイル、およびファイル内のどの行がエラーの原因であるかを指定する詳細なエラーメッセージが表示されます。その後、詳細なエラーメッセージに基づいて、対応する構成ファイルまたはアプリケーションコードを修正できます。
IIS で Web サイトへの直接 IP アクセスを無効にする方法
Web サイトへの直接 IP アクセスを無効にすることができます。これにより、ICP 登録のないドメイン名や悪意のあるドメイン名がサーバーのパブリック IP アドレスに解決される場合に発生する可能性のあるセキュリティリスクを防ぎます。
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
IIS マネージャーを開きます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。
[サーバーマネージャー] ページの右上隅で、 を選択します。
ドメイン名をバインドします。
[インターネットインフォメーションサービス (IIS) マネージャー] ページの左側のナビゲーションウィンドウで、対象の Web サイトをクリックします。[操作] ウィンドウで、[バインド] をクリックします。[サイトバインド] ウィンドウで、[ホスト名] パラメーターが空のレコードをダブルクリックします。表示される [サイトバインドの編集] ウィンドウで、ドメイン名を入力します。
ドメイン名を使用して Web サイトにアクセスできるが、サーバーのパブリック IP アドレスを使用してアクセスできない場合、設定は成功です。
サービスポートが占有されているために IIS で構成された Web サイトにアクセスできない問題を解決する方法
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
管理者としてコマンドプロンプトを開きます。
[スタート] をクリックし、
cmdと入力し、[コマンドプロンプト] を右クリックし、[管理者として実行] を選択します。サービスポートが占有されているかどうかを確認します。
Get-NetTCPConnection -LocalPort <Port>応答には、ポートステータス
Stateと所有プロセスOwningProcessが含まれます。LocalAddress LocalPort RemoteAddress RemotePort State AppliedSetting OwningProcess ------------ --------- ------------- ---------- ----- -------------- ------------- :: 80 :: 0 Listen 4上記の例は、ポート
80がID4のプロセスによって占有されていることを示しています。PIDに基づいて特定のアプリケーションを検索します。前のステップの OwningProcess 列に表示されるプロセス ID で <PID> を置き換えます。
Get-Process -Id <PID>ポートの競合を解決します。
ポートを占有しているプロセスを停止します。
ポートを占有しているプログラムを停止できることを確認した場合は、
taskkillコマンドを使用してプロセスを強制的に停止できます。taskkill <PID>アプリケーションポートを変更します。
アプリケーションポートの競合を減らすには、登録ポート範囲 (8000-49151) 内のポートを使用できます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。[サーバーマネージャー] ページの右上隅で、 を選択します。
[インターネットインフォメーションサービス (IIS) マネージャー] ページの左側のナビゲーションウィンドウで、対象の Web サイトをクリックします。次に、[操作] ウィンドウで、[バインド] をクリックします。
[サイトバインド] ウィンドウで、既存のバインドレコードを選択し、[編集] をクリックしてポートを変更し、[OK] をクリックします。
IIS を再起動します。
iisreset /noforceWeb サイトにアクセスして、アクセス可能であることを確認します。
IIS で構築された Web サイトにアクセスしたときに「403.14-Forbidden」エラーが表示された場合の対処方法
原因
デフォルトドキュメントの欠落: Web サイトのルートディレクトリまたはアクセスされたサブディレクトリに、
index.htmlやdefault.aspxなどのデフォルトのエントリファイルが構成されていません。ディレクトリ参照の無効化: デフォルトでは、IIS のセキュリティ設定により、ディレクトリの内容のリスト表示が禁止されています。デフォルトドキュメントが見つからない場合、この設定により 403.14 エラーがトリガーされます。
解決策
解決策 1: デフォルトドキュメントを構成する (推奨)
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
IIS マネージャーを開きます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。
[サーバーマネージャー] ページの右上隅で、 を選択します。
デフォルトドキュメントを構成します。
インターネットインフォメーションサービス (IIS) マネージャーで、対象の Web サイトをクリックします。[IIS] セクションで、[既定のドキュメント] をダブルクリックし、[有効にする] をクリックします。
デフォルトドキュメントリストに、Web サイトのエントリファイル名 (例:
index.htmlまたはdefault.htm) を追加します。指定したデフォルトドキュメントファイルが Web サイトの物理ルートディレクトリに存在することを確認します。
Web サイトに再度アクセスして、アクセス可能であることを確認します。
解決策 2: ディレクトリ参照を有効にする
ディレクトリ参照を有効にすると、サイトのファイルとディレクトリの構造が公開され、セキュリティリスクが生じます。
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
IIS マネージャーを開きます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。
[サーバーマネージャー] ページの右上隅で、 を選択します。
ディレクトリ参照を有効にします。
[インターネットインフォメーションサービス (IIS) マネージャー] ページの左側のナビゲーションウィンドウで、対象の Web サイトをクリックします。
[IIS] セクションで、[ディレクトリの参照] をダブルクリックします。右側の [操作] ウィンドウで、[有効にする] をクリックします。
Web サイトに再度アクセスして、アクセス可能であることを確認します。
IIS で構築された Web サイトにアクセスしたときに「0x80070002 指定されたファイルが見つかりません」というエラーが表示された場合の対処方法
原因
IIS は、.aspx ファイルなどの特定のファイルタイプの要求を処理する方法を決定するために、ハンドラマッピングに依存しています。.NET Framework が誤った順序でインストールされた場合、または IIS の登録情報が破損または失われた場合、IIS は ASP.NET 要求を処理するための正しいコンポーネントを見つけることができません。これにより、「指定されたファイルが見つかりません」というエラーが発生します。
解決策
中心的な解決策は、aspnet_regiis.exe ツールを使用して、正しい .NET Framework バージョンを IIS に再登録することです。この操作により、破損したハンドラマッピングが修復されます。
[スタート] をクリックし、
cmdと入力し、[コマンドプロンプト] を右クリックし、[管理者として実行] を選択します。Frameworkディレクトリに移動します。aspnet_regiis.exe ツールは .NET Framework のインストールディレクトリにあります。
これは通常、
C:\Windows\Microsoft.NET\Framework64ディレクトリにあります。たとえば、.NET Framework 4.x の場合:cd /d C:\Windows\Microsoft.NET\Framework64\v4.0.30319ASP.NET をアンインストールします。
aspnet_regiis.exe -uIIS に ASP.NET をインストールして登録します。
aspnet_regiis.exe -iIIS を再起動します。
iisreset /noforceWeb サイトにアクセスして、アクセス可能であることを確認します。
FTP over TLS を使用して IIS サービスによって作成された FTP サイトに接続したときに「534 ポリシーには SSL が必要です」というメッセージが表示された場合の対処方法
原因
FTP クライアントは、安全な接続のために FTPS (FTP over SSL/TLS) プロトコルを使用するようにデフォルトで構成されているか、明示的に構成されています。ただし、サーバー上の IIS FTP サイトは SSL 接続を許可するように設定されていません。これにより、サーバーはクライアントによって開始された SSL/TLS ハンドシェイク要求を拒否します。
解決策
IIS で宛先 FTP サイトの SSL 接続ポリシーを確認して有効にすることができます。ポリシーがクライアントの安全な接続要件と一致していることを確認してください。
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
IIS マネージャーを開きます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。
[サーバーマネージャー] ページの右上隅で、 を選択します。
FTP サイトの SSL ポリシーを構成します。
対象の FTP サイトをクリックします。ホームページの [FTP] セクションで、[FTP SSL 設定] をダブルクリックします。

[FTP SSL 設定] セクションで、[SSL ポリシー] を [SSL 接続を許可する] に設定します。次に、[操作] ウィンドウで [適用] をクリックします。

FTP サイトに接続して、接続が正常であることを確認します。
IIS を使用して作成された Web サイトにアクセスしたときに「Bad Request - Invalid Hostname」エラーが表示された場合の対処方法
原因
IIS サーバーは HTTP 要求を受信しましたが、次のいずれかの理由により、要求ヘッダーのホスト名に一致する構成済みのサイトが見つかりませんでした。
ホスト名がバインドされていない: IIS の宛先 Web サイトにアクセスドメイン名のバインドが追加されていません。
バインド情報が正しくない: Web サイトにはホスト名がバインドされていますが、ホスト名のスペルが間違っているか、間違った IP アドレスまたはポートにバインドされています。
バインドの競合: ドメイン名はすでに IIS の別のサイトにバインドされており、要求の配信競合が発生しています。
解決策
宛先サイトのサイトバインドを確認し、正しく構成できます。アクセスドメイン名がサイト構成と一致していることを確認してください。
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
IIS マネージャーを開きます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。
[サーバーマネージャー] ページの右上隅で、 を選択します。
サイトバインドを確認して構成します。
[インターネットインフォメーションサービス (IIS) マネージャー] ページの左側のナビゲーションウィンドウで、対象の Web サイトをクリックします。次に、[操作] ウィンドウで、[バインド] をクリックします。

[サイトバインド] ページで、ドメイン名をバインドするか、バインドされたドメイン名の情報が正しいかどうかを確認できます。
新しいドメイン名を追加します。
[サイトバインド] ページで、[追加] をクリックします。
[サイトバインドの追加] ページで、[ホスト名] フィールドに Web サイトのドメイン名を設定し、[OK] をクリックします。
バインドされたドメイン名を表示または変更します。
[サイト バインディング] ページで、バインディング レコードをダブルクリックします。
[サイトバインドの編集] ページで、バインド情報を表示します。
ドメイン名を変更するには、[ホスト名] を編集し、[OK] をクリックします。
Web サイトにアクセスして、アクセス可能であることを確認します。
IIS を使用してデプロイされた Web サイトにアクセスしたときに「500.19-xxx Absolute physical path xxx is not allowed in xxx」エラーが表示された場合の対処方法
原因
ApplicationHost.config または Web.config ファイルに、不正な形式または認識できない XML 要素が含まれています。
ApplicationHost.config は、サーバーのルート構成ファイルとして機能します。グローバルなデフォルトとサーバーレベルの設定を定義します。
Web.config ファイルは、アプリケーションレベルの構成を提供します。上位レベルから継承された設定を上書きまたは拡張するために使用されます。
解決策
ECS インスタンスにログインします。
ECS コンソール - インスタンス に移動します。上部のナビゲーションバーで、対象のリージョンとリソースグループを選択します。
対象インスタンスの詳細ページに移動し、[接続] をクリックし、[Workbench] を選択します。接続方法を [ターミナル] に設定し、ユーザー名とパスワードを入力して、グラフィカルターミナルページにログインします。
IIS マネージャーを開きます。
[スタート] をクリックし、[サーバーマネージャー] を選択します。
[サーバーマネージャー] ページの右上隅で、 を選択します。
web.configファイルを確認します。[インターネットインフォメーションサービス (IIS) マネージャー] ページの左側のナビゲーションウィンドウで、対象の Web サイトをクリックします。[操作] ウィンドウで、[参照] をクリックして、Web サイトのサイトディレクトリに移動します。

サイトディレクトリの
web.config構成ファイルを開きます。ファイルを確認して修正します。詳細については、「IIS 構成リファレンス」をご参照ください。
ApplicationHost.configファイルを確認します。C:\Windows\System32\inetsrv\config\フォルダに移動します。ApplicationHost.config構成ファイルを開きます。ファイルを確認して修正します。詳細については、「ApplicationHost.config の概要」をご参照ください。コマンドプロンプトを開き、IIS を再起動します。
iisreset /noforceWeb サイトにアクセスして、アクセス可能であることを確認します。