多くの友人が、IIS6 を使用して Web サイトを構築する際に多くの問題に遭遇しました。これらの問題の中には、過去に IIS5 で発生したものもあれば、これまでのトラブルシューティングの経験と組み合わせて、この要約を作成したことを願っています。みんなを助けることができる。
問題 1: 親パスが有効になっていない
症状例:
Server.MapPath() エラー'ASP 0175: 80004005'
許可されていません パス文字
/0709/dqyllhsub/news/OpenDatabase.asp、行 4 は、
次の Path パラメーターでは許可されていません。 MapPath 文字「..」。
原因分析:
多くの Web ページでは、../ 形式 (つまり、前のページ、つまり親パスに戻る) などのステートメントが使用されていますが、IIS6.0 ではセキュリティ上の理由から、このオプションはデフォルトでオフになっています。
解決策:
[IIS プロパティ] -> [ホーム ディレクトリ] -> [構成] -> [オプション] をクリックします。 「親パスを有効にする」の横にあるチェックボックスをオンにします。更新を確認します。
問題 2: ASP の Web 拡張機能の不適切な構成 (ASP.NET、CGI にも該当)
症状の例:
HTTP エラー 404 - ファイルまたはディレクトリが見つかりません。
原因分析:
IIS6.0 には、ASP、ASP.NET、CGI、IDC およびその他のプログラムを許可または無効にできる新しい Web プログラム拡張オプションがあります。デフォルトでは、ASP およびその他のプログラムが禁止されています。
解決策:
IIS の Web サービス拡張機能で Active Server Pages を選択し、[許可] をクリックします。
問題 3: 不適切な認証構成
症状の例:
HTTP エラー 401.2 - 権限がありません: サーバー構成が原因でアクセスが拒否されました。
原因分析:
IIS は、次の Web 認証方法をサポートしています。
(1) 匿名認証
IIS は、Web コンテンツを要求するときに匿名ユーザーを認証するために使用される、IUSR_コンピューター名アカウント (コンピューター名は IIS を実行しているサーバーの名前) を作成します。認証する。このアカウントは、ユーザーにローカル ログイン権限を付与します。匿名ユーザー アクセスをリセットして、有効な Windows アカウントを使用できます。
(2) 基本認証
基本認証を使用して、NTFS 形式の Web サーバー上のファイルへのアクセスを制限します。基本認証では、ユーザーは資格情報を入力する必要があり、アクセスはユーザー ID に基づいて行われます。ユーザー ID とパスワードは、ネットワーク経由でクリア テキストで送信されます。
(3) Windows 統合認証
Windows 統合認証は、基本認証よりも安全であり、ユーザーが Windows ドメイン アカウントを持っているイントラネット環境で適切に機能します。統合 Windows 認証では、ブラウザはドメイン ログイン プロセス中に現在のユーザーが使用した資格情報を使用しようとします。試行が失敗すると、ユーザーはユーザー名とパスワードの入力を求められます。統合 Windows 認証を使用する場合、ユーザーのパスワードはサーバーに送信されません。ユーザーがドメイン ユーザーとしてローカル コンピュータにログオンしている場合、このドメイン内のネットワーク コンピュータにアクセスするときに再度認証する必要はありません。
(4) ダイジェスト認証
ダイジェスト認証は、ベーシック認証の多くの欠点を克服します。ダイジェスト認証を使用する場合、パスワードはクリア テキストで送信されません。あるいは、プロキシ サーバー経由でダイジェスト認証を使用することもできます。ダイジェスト認証では、チャレンジ/レスポンス メカニズム (統合 Windows 認証で使用されるものと同じメカニズム) が使用され、パスワードが暗号化された形式で送信されます。
.NET Passport 認証
Microsoft .NET Passport は、シングル サインオン セキュリティを可能にし、.NET Passport 対応の Web サイトおよびサービスにアクセスする際のユーザーの安全性を高めるユーザー認証サービスです。 .NET Passport 対応サイトは、.NET Passport 中央サーバーに依存してユーザーを認証します。ただし、中央サーバーは、特定のユーザーによる個々の .NET Passport 対応サイトへのアクセスを承認または拒否しません。
解決策:
必要に応じて、別の ID 認証を構成します (通常は、ほとんどのサイトで使用される認証方法である匿名 ID 認証)。認証オプションは、[IIS プロパティ] -> [セキュリティ] -> [認証とアクセス制御] で設定します。
問題 4: IP 制限が不適切に構成されている
症状の例:
HTTP エラー 403.6 - 禁止: クライアントの IP アドレスが拒否されます。
理由の分析:
IIS には、特定の IP によるサイトへのアクセスを制限する、またはクライアントがブロックされている 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 タイプのサポートをキャンセルし、クライアントのダウンロード エラーを引き起こしました。
解決策:
[プロパティ] -> [HTTP ヘッダー] -> [MIME タイプ] -> [IIS の新機能]後続のダイアログ ボックスで、拡張子を .ISO として、MIME タイプをアプリケーションとして入力します。
さらに、ファイアウォールのブロック、ODBC 構成エラー、Web サーバーのパフォーマンス制限、スレッド制限、その他の要因も IIS サーバーにアクセスできない原因として考えられますが、ここでは個別に説明しません。