[asp.net-mvc] IIS 7でのASP MVCの結果:HTTPエラー403.14 - 禁止


Answers

それでは hereに答えましhere 、質問: 403 - iis7.5上の基本的なMVC 3デプロイメントでは禁止されています

aspnet_regiis -i実行aspnet_regiis -i 。 しばしば、4.0アプリを動作させるためには、その必要があることがわかりました。 Administratorとしてコマンドプロンプトを開きます(コマンドプロンプトアイコンを右クリックし、[管理者として実行]を選択します)。

cd \
cd Windows\Microsoft.NET\Framework\v4.xxx.xxx
aspnet_regiis -i

インストールと登録が完了したら、アプリケーションが.NET 4.0に設定されているアプリケーションプールを使用していることを確認します。

アップデート:このコマンドで問題が見つかりました。 -iを使用すると、すべてのアプリケーションプールがASP.NET 4.0に更新されました。

aspnet_regiis -irを使用すると、ASP.NETのバージョンがインストールされますが、Webアプリケーションはこのバージョンに変更されません。 また、-iruオプションを確認することもできます。

Question

私はASPのMVC Webプロジェクトを開発しています。 今私はIIS7の開発の中に(いくつかの機能をチェックするために)展開する必要があります。 WebサイトのURLを入力しようとすると、上記のエラーメッセージが表示されます。 (注:開発マシン:Vista Home Premium、IIS7)

私は今まで何をしてきたのですか?

HOSTSファイル(C:\ WINDOWS \ system32 \ drivers \ etc \ hosts)を編集しました。

その中に2つのドメインを入れます(127.0.0.1 domain1.comと127.0.0.1 domain2.com)。

c:\ websites \ dirOfApplicationというフォルダを作成し、Visual Studio 8内からこのフォルダに展開します。

IIS7では、ホスト名domain1.comと上記のアプリケーションフォルダを持つ新しいサイトを作成しました。

Webブラウザでdomain1.comというアドレスを入力すると、上記のエラーが発生します(HTTPエラー403.14 - 禁止 - Webサーバーはこのディレクトリの内容を一覧表示しないように設定されています)。

私は何かが不足していると思うが、何を知っていない! ファイルSystem.Web.Mvc、System.Web.Abstraction&System.Web.Routingを同じ展開結果で展開しようとしました。 F5キーを押してアプリケーションを実行しようとすると、うまく動作します!




私も同じ問題がありました。 このMicrosoftのサポート記事は私のために修正されました。
https://support.microsoft.com/en-us/help/2023146/mvc-2-and-asp.net-4-web-forms-applications-that-use-url-routing-might-return-http-404-errors-when-they-attempt-to-process-extensionless-urls-on-iis-7-and-iis-7.5

Windowsのコントロールパネルの[プログラムと機能]アプリケーションの[Windowsの機能を有効または無効にする]ダイアログボックスで、次の手順を実行します。

  1. 次のノードに移動します。インターネットインフォメーションサービス - >ワールドワイドウェブサービス - >一般的なHTTP機能
  2. [HTTPエラーリダイレクト]オプションが選択されていることを確認します。

- または -

  1. 次のノードに移動します。インターネットインフォメーションサービス - >ワールドワイドウェブサービス - >パフォーマンス機能
  2. 「静的コンテンツ圧縮」オプションが選択されていることを確認します。 いずれかのオプションを選択したら、[OK]をクリックして変更を保存します。

HTTPエラーリダイレクションモジュールまたは静的コンテンツ圧縮モジュールのいずれかを再度有効にすると、ASP.NETとIISがHTTPパイプラインイベントを正しく同期します。 これにより、URLルーティングモジュールは拡張機能のないURLを処理できます。




次の手順を実行して簡単に解決できます。

iisマネージャを開き、展開したいサイトを選択して(左側のツリービューパネルから)、アプリケーション設定アイコンをダブルクリックしてアプリケーション設定ダイアログを開き、グリッドビューを画面に表示すると、 Webページという名前の行がダブルクリックされます。 Enabledに設定し、設定値をtrueに設定します (デフォルトではfalse)。

それは私のために働いた前に私は同じエラーを受けたので、私はディレクトリのブラウズ (iisフォーラムでは公式のiisガイドとして推奨)を有効にしたが、私は実際にWebページではなくディレクトリのリストをsow上記の問題を解決した上ですべてのことがうまくいきました(しかし、この問題を解決してからSQLログインにasppoolのアクセス権を与えることを忘れてしまいます)

私はそれが私のためにうまくいったと言ったので、それはあなたのためにうまくいくことを願っても幸運




C#4.5のASP.NETプロジェクトでは、Web Platform InstallerにASP.NET拡張機能インストールすることでこのような問題を解決しました




私はまた、以下の理由から、すべての提供されたソリューションにもかかわらず、この同じエラーが発生しました:

  • 不足しているDLL
  • データベース接続文字列がアクセスできないサーバーを指しています。



私はこの問題を抱えていましたが、インターネットインフォメーションサービス(IIS)マネージャーに行き、ディレクトリブラウズをダブルクリックして有効にすることで簡単に修正されました。

私の場合は、ファイルに直接アクセスできましたが、フォルダにアクセスすることはできませんでした。




上位の回答がうまくいかない場合は、ホスティングディレクトリにあるPrecompiledApp.configという名前の設定を探し、存在する場合は削除します。 このファイルはIISExpressとLocalIISが正しく動作するのを防ぎます。 (そして私はそれがバグだと思う)私の場合のファイルの内容は次のとおりでした:

<precompiledApp version="2" updatable="true"/>

そして、私は2時間ですべてを試してこの設定で何度も試してみたので、私の場合の問題だったのは100%です。

もう1つ:WindowsとIISの新しいバージョンでaspnet_regiisを使用することはできません。

dism /online /enable-feature /featurename:IIS-ASPNET45 /all



あなた(私)がやっていることについてあまりにも確信が持てるからです!

私のマシンにはIIS 7がインストールされていますが、必要なASP.NETコンポーネント(コントロールパネル - >プログラム - >オン/オフ - > ASP.NET)はありませんでした。

だから、これをインストールすることで問題は解決した




私は1桁の数字でIPアドレスを間違って入力しました。それは他のサーバーの1つに行くことを意味していました。 間違ったマシンから.NETエラーページを取得すると非常に混乱します!




私の場合、web.configと/ binフォルダ以外のすべてのファイルがなくなっていました(何とかコピーされていません)。
愚かですが、それは私がチェックした最後のものでした。




私はIdentity Impersonateを使っています:

<system.web>
    <identity impersonate="true" userName="domain\username" password="password"/>
</system.Web>

サーバーにプッシュアップするときは、ユーザー名にTemporary ASP.NET Filesフォルダへのアクセス権を与えて、読み取り/書き込み/実行が適切に行えるようにする必要があります。

C:\Windows\Microsoft.NET\"frameworkversion"\"aspversion"\Temporary ASP.NET Files

明らかに、 "frameworkversion"と "aspversion"を使用しているバージョンに置き換えてください。




誤ったManaged pipeline modeがこのエラーの原因になることがあります。 integratedclassicを選択するには2つの選択肢があります。




また、x64を実行している場合、アプリケーションプール設定で32ビットアプリケーションを有効にしていることを確認してください






Related