多くの友人は、IIS6 を使用して Web サイトを構築する際に多くの問題に遭遇しました。これらの問題の一部は過去に IIS5 で発生しましたが、私は午後中ずっと忙しく、これを作成するために多くの実験を行いました。私のトラブルシューティングの経験に基づいた要約が、皆さんのお役に立てれば幸いです:)
問題 1: 親パスが有効になっていない
症状の例:
Server.MapPath() エラー ASP 0175: 80004005
パス文字は使用できません
/0709/dqyllhsub/news/OpenDatabase.asp、行 4
MapPath の Path パラメータでは文字... は使用できません。
理由分析:
多くの Web ページでは、../ 形式 (つまり、前のページ、つまり親パスに戻る) などのステートメントが使用されます。ただし、IIS6.0 ではセキュリティ上の理由から、このオプションはデフォルトでオフになっています。
解決:
IIS のプロパティ -> ホーム ディレクトリ -> 構成 -> オプション。 「親パスを有効にする」の横にあるチェックボックスをオンにします。更新を確認します。
問題 2: ASP の Web 拡張機能の不適切な構成 (ASP.NET、CGI にも当てはまります)
症状の例:
HTTP エラー 404 - ファイルまたはディレクトリが見つかりません。
理由分析:
IIS6.0 には、Web プログラム拡張機能の新しいオプションがあり、ASP、ASP.NET、CGI、IDC およびその他のプログラムをデフォルトで禁止することができます。
解決:
IIS の Web サービス拡張機能で [Active Server Pages] を選択し、[許可] をクリックします。
問題 3: 不適切な認証構成
症状の例:
HTTP エラー 401.2 - 不正: サーバー構成によりアクセスが拒否されました。
原因分析: IIS は次の Web 認証方法をサポートしています。
匿名認証
IIS は、匿名ユーザーが Web コンテンツを要求するときに認証するために、IUSR_computername アカウント (computername は IIS が実行されているサーバーの名前) を作成します。このアカウントは、ユーザーにローカル ログイン権限を付与します。匿名ユーザー アクセスをリセットして、有効な Windows アカウントを使用できます。
基本認証
基本認証を使用して、NTFS 形式の Web サーバー上のファイルへのアクセスを制限します。基本認証では、ユーザーは資格情報を入力する必要があり、アクセスはユーザー ID に基づいて行われます。ユーザー ID とパスワードは、ネットワーク経由でクリア テキストで送信されます。
Windows統合認証
Windows 統合認証は基本認証より安全であり、ユーザーが Windows ドメイン アカウントを持っているイントラネット環境で適切に機能します。統合 Windows 認証では、ブラウザはドメイン ログイン プロセス中に現在のユーザーが使用した資格情報を使用しようとします。試行が失敗すると、ユーザーはユーザー名とパスワードの入力を求められます。統合 Windows 認証を使用する場合、ユーザーのパスワードはサーバーに送信されません。ユーザーがドメイン ユーザーとしてローカル コンピュータにログオンしている場合、このドメイン内のネットワーク コンピュータにアクセスするときに再度認証する必要はありません。
ダイジェスト認証
ダイジェスト認証は、基本認証の欠点の多くを克服します。ダイジェスト認証を使用する場合、パスワードはクリア テキストで送信されません。あるいは、プロキシ サーバー経由でダイジェスト認証を使用することもできます。ダイジェスト認証では、チャレンジ/レスポンス メカニズム (統合 Windows 認証で使用されるものと同じメカニズム) が使用され、パスワードが暗号化された形式で送信されます。
.NETパスポート認証
Microsoft .NET Passport は、シングル サインオン セキュリティを可能にし、.NET Passport 対応の Web サイトおよびサービスにアクセスする際のユーザーの安全性を高めるユーザー認証サービスです。 .NET Passport 対応サイトは、.NET Passport 中央サーバーに依存してユーザーを認証します。ただし、中央サーバーは、特定のユーザーによる個々の .NET Passport 対応サイトへのアクセスを承認または拒否しません。
解決:
必要に応じて、さまざまな認証方法を構成します (通常は、ほとんどのサイトで使用される認証方法である匿名認証)。認証オプションは、「IIS プロパティ」->「セキュリティ」->「認証とアクセス制御」で構成されます。
[カットページ]
問題 4: IP 制限が正しく設定されていない
症状の例:
HTTP エラー 403.6 - 禁止: クライアントの IP アドレスが拒否されました。
理由分析:
IIS は、特定の IP によるサイトへのアクセスを制限するように、またはクライアントがブロックされている IP 範囲内にある場合、または許可されていない場合に、特定の IP のみがサイトへのアクセスを制限するように構成できます。範囲内ではエラーメッセージが表示されます。
解決:
[IIS プロパティ] -> [セキュリティ] -> [IP アドレスとドメイン名の制限] に移動します。特定の IP アドレスへのアクセスを制限する場合は、「許可されたアクセス」を選択し、「追加」をクリックして許可されない IP アドレスを選択する必要があります。逆に、特定の IP アドレスからのアクセスのみを許可することもできます。
質問 5: IUSR アカウントが無効になっています
症状の例:
HTTP エラー 401.1 - 未承認: 資格情報が無効なため、アクセスが拒否されました。
理由分析:
ユーザーが匿名アクセスに使用するアカウントは IUSR_machine 名であるため、このアカウントが無効になっている場合、ユーザーはアクセスできなくなります。
解決:
[コントロール パネル] -> [管理ツール] -> [コンピュータの管理] -> [ローカル ユーザーとグループ] で、IUSR_machine 名アカウントを有効にします。
問題 6: NTFS アクセス許可が不適切に設定されている
症状の例:
HTTP エラー 401.3 - 無許可: 要求されたリソースに設定された ACL のため、アクセスは拒否されました。
理由分析:
Web クライアントのユーザーはユーザー グループに属しているため、ファイルの NTFS 権限が不十分な場合 (読み取り権限がない場合など)、ページにアクセスできません。
解決:
フォルダーのセキュリティ タブに移動し、ユーザーのアクセス許可を構成します。少なくとも読み取りアクセス許可を与えます。ここでは、NTFS アクセス許可設定については詳しく説明しません。
質問 7: IWAM アカウントが同期していません
症状の例:
HTTP 500 - 内部サーバー エラー
理由分析:
IWAM アカウントは、IIS のインストール時にシステムによって自動的に作成される組み込みアカウントです。 IWAM アカウントが確立されると、Active Directory、IIS メタベース データベース、COM+ アプリケーションによって共同使用され、アカウントのパスワードは 3 者によってそれぞれ保存され、オペレーティング システムはこれら 3 者によって保存された IWAM パスワードの同期を担当します。パーティー。 IWAM アカウントに対するシステムのパスワード同期作業が時々失敗し、その結果、IWAM アカウントのパスワードが不一致になることがあります。
解決:
AD が存在する場合は、[スタート] -> [プログラム] -> [管理ツール] -> [Active Directory ユーザーとコンピュータ] を選択します。 IWAMアカウントのパスワードを設定します。
c:InetpubAdminScripts>adsutil SET w3svc/WAMUserPass + パスワードを実行して、IIS メタベース データベースのパスワードを同期します。
cscript c:inetpubadminscriptssynciwam.vbs -v を実行して、COM+ アプリケーションの IWAM アカウントのパスワードを同期します。
質問 8: MIME 設定の問題により、特定の種類のファイルがダウンロードされません (ISO を例にします)
症状の例:
HTTP エラー 404 - ファイルまたはディレクトリが見つかりません。
理由分析:
IIS6.0 では、ISO などの一部の MIME タイプのサポートがキャンセルされ、クライアントのダウンロード エラーが発生しました。
解決:
IIS のプロパティ -> HTTP ヘッダー -> MIME タイプ -> 新規。後続のダイアログ ボックスで、拡張子を .ISO として、MIME タイプをアプリケーションとして入力します。
さらに、ファイアウォールのブロック、ODBC 構成エラー、Web サーバーのパフォーマンス制限、スレッド制限、その他の要因も IIS サーバーにアクセスできない原因として考えられますが、ここでは個別に説明しません。この投稿があなたの問題のほとんどを解決できることを願っています:)
問題 4: IP 制限が正しく設定されていない
症状の例:
HTTP エラー 403.6 - 禁止: クライアントの IP アドレスが拒否されました。
理由分析:
IIS は、特定の IP によるサイトへのアクセスを制限するように、またはクライアントがブロックされている IP 範囲内にある場合、または許可されていない場合に、特定の IP のみがサイトへのアクセスを制限するように構成できます。範囲内ではエラーメッセージが表示されます。
解決:
[IIS プロパティ] -> [セキュリティ] -> [IP アドレスとドメイン名の制限] に移動します。特定の IP アドレスへのアクセスを制限する場合は、「許可されたアクセス」を選択し、「追加」をクリックして許可されない IP アドレスを選択する必要があります。逆に、特定の IP アドレスからのアクセスのみを許可することもできます。
質問 5: IUSR アカウントが無効になっています
症状の例:
HTTP エラー 401.1 - 未承認: 資格情報が無効なため、アクセスが拒否されました。
理由分析:
ユーザーが匿名アクセスに使用するアカウントは IUSR_machine 名であるため、このアカウントが無効になっている場合、ユーザーはアクセスできなくなります。
解決:
[コントロール パネル] -> [管理ツール] -> [コンピュータの管理] -> [ローカル ユーザーとグループ] で、IUSR_machine 名アカウントを有効にします。
問題 6: NTFS アクセス許可が不適切に設定されている
症状の例:
HTTP エラー 401.3 - 無許可: 要求されたリソースに設定された ACL のため、アクセスは拒否されました。
理由分析:
Web クライアントのユーザーはユーザー グループに属しているため、ファイルの NTFS 権限が不十分な場合 (読み取り権限がない場合など)、ページにアクセスできません。
解決:
フォルダーのセキュリティ タブに移動し、ユーザーのアクセス許可を構成します。少なくとも読み取りアクセス許可を与えます。ここでは、NTFS アクセス許可設定については詳しく説明しません。
質問 7: IWAM アカウントが同期していません
症状の例:
HTTP 500 - 内部サーバー エラー
理由分析:
IWAM アカウントは、IIS のインストール時にシステムによって自動的に作成される組み込みアカウントです。 IWAM アカウントが確立されると、Active Directory、IIS メタベース データベース、COM+ アプリケーションによって共同使用され、アカウントのパスワードは 3 者によってそれぞれ保存され、オペレーティング システムはこれら 3 者によって保存された IWAM パスワードの同期を担当します。パーティー。 IWAM アカウントに対するシステムのパスワード同期作業が時々失敗し、その結果、IWAM アカウントのパスワードが不一致になることがあります。
解決:
AD が存在する場合は、[スタート] -> [プログラム] -> [管理ツール] -> [Active Directory ユーザーとコンピュータ] を選択します。 IWAMアカウントのパスワードを設定します。
c:InetpubAdminScripts>adsutil SET w3svc/WAMUserPass + パスワードを実行して、IIS メタベース データベースのパスワードを同期します。
cscript c:inetpubadminscriptssynciwam.vbs -v を実行して、COM+ アプリケーションの IWAM アカウントのパスワードを同期します。
質問 8: MIME 設定の問題により、特定の種類のファイルがダウンロードされません (ISO を例にします)
症状の例:
HTTP エラー 404 - ファイルまたはディレクトリが見つかりません。
理由分析:
IIS6.0 では、ISO などの一部の MIME タイプのサポートがキャンセルされ、クライアントのダウンロード エラーが発生しました。
解決:
IIS のプロパティ -> HTTP ヘッダー -> MIME タイプ -> 新規。後続のダイアログ ボックスで、拡張子を .ISO として、MIME タイプをアプリケーションとして入力します。
さらに、ファイアウォールのブロック、ODBC 構成エラー、Web サーバーのパフォーマンス制限、スレッド制限、その他の要因も IIS サーバーにアクセスできない原因として考えられますが、ここでは個別に説明しません。この投稿があなたの問題のほとんどを解決できることを願っています:)