web-dev-qa-db-ja.com

IIS-401.3-不正

IISの使用を開始しようとしています。 IIS Managerに新しいサイトを作成し、それをファイルシステム上のフォルダーにマップし、そのフォルダーにindex.htmlを追加しました。このサイトのポートを85に設定しました。 http://localhost:85/index.htmlにアクセスしようとすると、次のエラーメッセージが表示されます。

401.3-未分類-Webサーバー上のこのリソースのアクセス制御リスト(ACL)構成または暗号化設定のため、このディレクトリまたはページを表示する権限がありません。

フォルダーの全員に読み取りアクセス権を与えて、もう一度試しました。その後、ページにアクセスできました。

次に、フォルダーのプロパティをwwwrootのプロパティと比較しました。 wwwrootがIIS_IUSRSの読み取りアクセス権を持っていることがわかりました...フォルダで同じ操作を行い、もう一度試してみると、上記のエラーが再度発生しました。デフォルトで匿名アクセスが有効になっていることを確認しましたが、それでもこのエラーが発生します。

なぜこれが起こるのですか?問題を解決する正しい方法は何ですか?

71
Aadith

私はこの同じ問題で数日間苦労しました。これは、サイトがマップされているファイルシステムフォルダーのセキュリティユーザーアクセスプロパティを変更することで解決できます。ただし、承認する必要があるアカウントはIIS_IUSRSだけではありません。

  • IIS管理コンソールのサイト構成の認証部分で、「匿名認証」行を変更し、「特定のユーザー」として設定されたアカウントを確認します(mintはIUSRです)。
  • サイトのフォルダーに対する読み取りおよび実行の許可をそのアカウントに付与します。

OR

  • IIS管理コンソールのサイト構成の認証部分で、「特定のユーザー」ではなく「アプリケーションプールのID」を選択して「匿名認証」行を変更します。
134
groch

ここに私のために働いたものがあります。

  1. アプリプールIDを、フォルダーへのアクセス許可を割り当てることができるアカウントに設定します。
  2. ソースディレクトリとすべての関連ファイルに、アプリケーションプールIDプロパティに割り当てられたアカウントへのファイルの読み取り権限が付与されていることを確認します
  3. IISのサーバールートノードで、アプリプールIDを継承するように匿名ユーザーを設定します。 (これは私が苦労した部分でした)

サーバーをアプリプールIDから継承するように匿名に設定するには、次の手順を実行します。

  • IIS Managerを開きます(inetmgr)
  • 左側のペインで、ルートノード(サーバーのホスト名)を選択します
  • 中央のペインで「認証」アプレットを開きます
  • 「匿名認証」を強調表示する
  • 右側のペインで「編集...」を選択します(ダイアログボックスが開きます)
  • [アプリケーションプールID]を選択します
46
barrypicker

静的コンテンツを扱っているので...

Webサイトのルートとして機能するフォルダーで、右クリック>プロパティ>セキュリティを選択すると、「ユーザー」がリストに表示されますか? 「追加...」をクリックして入力しない場合は、完了したら「適用」をクリックしてください。

11
joelmdev

TL; DR;

ほとんどの場合、次のアカウントへのアクセスを許可する(1つ|両方):

  1. IIS AppPool\DefaultAppPool
  2. IUSR

withAccess Rights

  1. 読み取りと実行
  2. フォルダーの内容を一覧表示する
  3. 読む

それでおしまい!

より詳細な説明をお読みください...


  1. IISを開き、アプリケーションを選択します
  2. 右側で認証をクリックします。
  3. ここで「匿名認証」を選択します。
  4. 次のダイアログがポップアップします。

enter image description here

上記の写真で選択されている内容に応じて、WebアプリケーションフォルダーのACLへのアクセスを許可します。

  • 特定のユーザーIUSR(私の場合)+ IIS AppPool\DefaultAppPoolの両方にアクセスを許可します
  • アプリケーションプールIDIIS AppPool\DefaultAppPoolのみにアクセスを許可します

IIS AppPool\DefaultAppPoolアカウントは、新しいIIS WebアプリケーションのデフォルトのAppPoolアカウントです。カスタムアカウントを設定している場合は、カスタムアカウントを使用してください。


アカウントに次の許可を与えます:

  1. Read & Execute
  2. List folder contents
  3. Read

enter image description here

それでおしまい。

9
Legends

この解決策を試してください:

https://serverfault.com/questions/38222/iis-7-5-windows-7-http-error-401-3-unauthorized

また、IIS AppPoolを実行しているユーザーがそのフォルダー/ファイルへの読み取りアクセス権を持っているかどうかを確認します。

これを見てください:

http://www.iis.net/learn/manage/configuring-security/application-pool-identities

これもご覧ください:

http://www.iis.net/learn/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis

3
c-chavez

他の誰かがこれに遭遇した場合に備えて。これらの手順をすべてトラブルシューティングしましたが、MACからいくつかのファイルを解凍したため、Microsoftは通知なしで自動的にファイルを暗号化しました。フォルダーのアクセス許可を設定しようとして数時間後、ファイル名が緑色であることがわかりました。これは、ファイルが暗号化され、フォルダーのアクセス許可が正しい場合でもIISが同じエラーをスローすることを意味します。

1
Kris