2016-11-17 56 views
2

本番サーバーでASP.NET Web APIプロジェクトを実行すると、次のエラーが発生します。HTTP 403禁止:アクセスが拒否されましたASP.NET Web API

403 - アクセスが拒否されました。指定した資格情報を使用して このディレクトリまたはページを表示する権限がありません。 IIS 7.0のエラーを見てみると

は、根本的なエラーが

403.14で記録します - ディレクトリは拒否一覧表示されます。

プロダクションサーバーがステージングサーバー(動作する)と同じ設定になるようにプロダクションサーバーを構成しました。認証、モジュール、許可、権限などはすべて同一です。

は、このスレッド403 - Forbidden: Access is denied. ASP.Net MVCでの提案に続いて、私はそれが私のweb.configファイルにrunAllManagedModulesForAllRequests =「true」を追加することにより、作業を取得するために管理しています。

<モジュールrunAllManagedModulesForAllRequests >

=「真」これは、サーバー上の不要な負荷の原因になりますように私は、長期的な解決策としてこれを見ない作品なくなり。

これは、何かがロードされていないことを示しているようです。

+0

UrlRoutingModuleがインストールされていることを確認しましたか? –

+0

はいインストールされています – DomBurf

答えて

0

こんにちは@DomBuffアプリケーションを本番環境に展開しているときに、このアプローチに従うことができます。 1リリースモードでアプリケーションを公開します。 2このフォルダに管理者権限があるため、アプリケーションをinetpub-wwwrotフォルダに置きます。

うまくいけばうまくいくはずです。

+0

残念ながらそれはうまくいきませんでした。私は、エラーメッセージにもかかわらず、問題がパーミッションに関連しているとは確信していません。私はそれがデフォルトのページをロードしようとしていると思われますが、必要なモジュールがロードされていないためにルーティングにエラーがあります。もちろん、私は間違っている可能性があります。 – DomBurf

-1

上記のエラーは、フォルダ/ web.configファイルにアクセスする権限がない場合に表示されます。

は、私はそれが動作するはずだと思う以下

1.In Windows Explorer, locate the web.config file that is associated with the application. 
2.Right-click the web.config file 
3.Click Properties. 
4.Click the Security tab, and then click Edit. 
5.Click Add. 
6.In the Enter the object names to select box, IUSR, click Check Names, and then click OK. 
7.Provide Full control, and then click OK. 
8.In the Web.config Properties dialog box, click OK. 

を試してみてください。

+0

最初にアプリケーションを設定したときに、そのユーザーに完全な権限を与えました。 – DomBurf

+0

IISでディレクトリブラウズを有効にしましたか? –

+0

これが問題です。これはWeb API(MVC)アプリケーションなので、デフォルトのドキュメントはURLルーティング経由で読み込まれるため、問題はパーミッションに関連していないと思われます。また、web.configにを設定すると、問題がなくなり、疑いを確認します。 – DomBurf

0

アプリケーションに関連付けられたアプリケーションプールが存在しませんでした。私は同じ名前のアプリケーションプールを作成しましたが、このエラーはなくなりました。

関連する問題