web-dev-qa-db-ja.com

Windows 2012 / IIS 8 + ASP.NET MVCアプリケーション403.14(禁止)-Webサーバーはコンテンツをリストしないように構成されています

Windows 2012サーバーに展開しようとしている非常に単純なMVC 4アプリケーションがあります。

一貫性がなく、Webアプリケーションのルート(http://localhost/app)に移動すると、403.14-Forbiddenが返されます。

詳細なエラー情報:

Module:            DirectoryListingModule
Notification:      ExecuteRequestHandler
Handler:           StaticFile
Error Code:        0x00000000
Requested URL:     http://localhost:80/test1/
Physical Path:     c:\apps\test1\
Logon Method:      Negotiate

Webアプリケーションは次のとおりです。

  • 非常にバニラのVS2012 MVC4イントラネットテンプレートです。
  • 統合v4.0アプリケーションプールで実行
  • windows認証を使用するためのセットアップ
  • アプリケーションプールには、カスタムAD IDが割り当てられています(SQLサーバーにアクセスできるようにするため)。
  • アプリケーションプールIDには、それが実行されているc:\ apps\test1フォルダーの読み取りアクセス許可があります。
  • これはMVC4アプリケーションであり、現在.NET 4.0を対象としています。MVC4アプリケーション(default.aspxなど)にはデフォルトのドキュメントは必要ないため、ありません。
  • (実際のエラーではないため)ディレクトリ一覧を有効にしたくありません。
  • インストール済み:ロール/ Webサーバー(IIS)/アプリケーション開発/(.NET 4.5拡張性、アプリケーション初期化、ASP.NET 4.5、ISAP拡張機能、ISAPIフィルター、WebSocketプロトコル)
  • Windows 8上のIISExpressで自分のマシン上でローカルに動作します
  • Web.configで構成済み:<modules runAllManagedModulesForAllRequests="true" />
  • 公開時にプリコンパイルされるように設定されています

プリコンパイル済みオプションをfalseに変更すると、Webアプリケーション失敗しません(少なくとも私のテストでは、一貫して機能するようです)。

一貫性がないと私が言った理由は、それが機能するのを見て、それから公開したので、エラーが返されたからです。問題のパターンが見つかりません(今のところ、問題を解決することができません)。

403は、ローカルまたはリモートのWebブラウザーから返されます。

古いバージョンのWindows向けではないソリューションを見つけるのに苦労しました(Windows 2012では機能しないASP.NETを再インストールする提案など)。

他に何を試したらいいのか本当に分かりません。

3
WiredPrairie

私は同じ問題を抱えています。私は非常に多くの時間を検索し、このすべての指示を実行しました link 。私はあなたのアプリケーションをセットアップしました。しかし、それはまったく機能しません。最後に、次のことを発見しました。発行中にプリコンパイルを選択する場合、AssemblyCultureを空の文字列に設定する必要があります(Properties/AssemblyInfo.csファイル内)。次に例を示します。

[アセンブリ:AssemblyCulture( "")]

次のように設定するとうまくいきません

[アセンブリ:AssemblyCulture( "fr-FR")]

1

そこに「カスタムAD ID」が見つかりました。

  1. そこに何もない場合でも、新しいユーザーが実際にファイルシステムパスを読み取る権限を持っていることを確認してください。
  2. 新しいユーザーがIISアプリグループに属していることを確認して、メタベースと通信できるようにします。
  3. それに応じて、カーネルモード認証が構成されているかどうかを確認します。
    1. (該当する場合)setspnに追加のレコードがないことを確認します
    2. (そうでない場合)認証ネゴシエーションリストでKerberosよりNTLMを上げることを検討して、問題が解決するかどうかを確認します。

2012は、私がそのエラーの癖を知らないほど新しいのですが、403が禁止されるとき、それらはかなり良い出発点です。

1
Mark

私にも同様の問題があり、私の答えはこれでした:

http://technet.Microsoft.com/en-us/library/cc731598

サービスにアクセスするマシンのIPを追加してもらいました。これが有効になったことを知りませんでした。

0
Schrute