httpエラー503サービスを利用できません。Webサイトへのアクセス時にアプリプールが停止する


167

これにはたくさんの投稿があり、私は多くのことを今までに試しました。しかし、役に立たない。私自身、基本的にはWinforms開発者で、会社がWebイニシアチブを取っている数日前に、このWebに関する作業を開始しました。

ASP.Netプロジェクトがあり、ローカルIISでホストしたいと考えています。でProject properties -> Web設定私は選んだUse Local IIS ServerとしてURLを与えましたlocalhost/MyApp。私のFirefoxブラウザでアクセスしようとすると、エラーが発生しましたHTTP Error 503. The service is unavailable.

以前は他の多くのエラーが発生し、1つずつすべてを修正していました。しかし、これで打った。これらは私のプロジェクトにある設定です

  1. ASP.Net v4.0 Classicに設定されたアプリケーションプール
  2. アプリプールEnable 32 bit Applicationプロパティはtrueです
  3. アプリプールが開始されました
  4. Any CPUターゲットフレームワーク用に設定されたプロジェクトビルドプロパティ

しかし、私は奇妙な行動に言及したいと思います。以下は私が直面しているものです

  1. アプリケーションプールが開始されました
  2. ローカルURLにアクセスしようとします(URLをとして指定localhost/MyApp
  3. 私はエラーを受け取ります HTTP Error 503. The service is unavailable
  4. アプリケーションプールが停止しました

私は次のリンクを見て、すでにそれを試しました。上記の動作について、私はここに到達しました。このリンクによると、コンピュータ名が含ま.れていてはいけません。私はいずれかを持っていない.私のコンピュータ名ではなく、持っているか-、それに。私のドメイン名も含ま.れています。さらに、オフィスのラップトップとTFS設定がドメイン名とコンピューター名にバインドされているため、これらの設定を変更することはできません。

誰かが起こっていることを理解するのを手伝ってくれる?案内してください。ありがとう。

編集する

に次のコードがありGlobal.asaxます。Application_BeginRequest同じファイルでメソッドが空です。

protected override void Application_Start(object sender, EventArgs e)
{
    base.Application_Start(sender, e);
    String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
                                         System.Environment.GetEnvironmentVariable("PATH"));
    System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    MyAppLog.Initialize();
    MyAppLog.WriteMessage("Application Started");
}

更新

コメントの提案に従って、私はカッシーニからウェブサイトを実行することができます。


アプリケーションの起動時に実行されるGlobal.asaxにコードがありますか?ループでスタックしている可能性があるものはありますか?有効にしましEnable 32 bit Applicationたが、32ビットのみのDLLを使用していますか?
CodingIntrigue 2013年

Cassiniで実行するとどうなりますか?
Simon Whitehead

@RGraham:プロジェクトのビルドプロパティをに設定していAny CPUます。だから私は使用されたdllは問題ではないはずだと思います。Global.asaxコードの編集を参照してください。ありがとう
Sandy

@SimonWhitehead:カッシーニが何であるかわからない。今、cassinidev.codeplex.comからダウンロードしました。ダウンロードしたファイルにいくつかのdllとexeが表示されます。使い方を教えて頂けませんか?その間、私はこの問題についてインターネットの情報源から読んでみます。
Sandy

@SimonWhitehead:カッシーニからウェブサイトを実行できます。
Sandy

回答:


315

これが発生する理由として考えられるのは、IISのアプリケーションプールがカスタムアカウントで実行するように構成されており、このアカウントが存在しないか、間違ったパスワードが指定されたか、パスワードが変更されたためです。IISのアプリケーションプールが使用するアカウントの詳細プロパティを確認します。

また、イベントログには、アプリケーションプールが最初の要求ですぐに停止する理由に関する詳細情報が含まれている場合があります。

ここに画像の説明を入力してください


38
私の場合、これが問題でした。Windowsパスワードを変更しましたが、Windows 8.1のローカルIISが機能しなくなりました。各プロジェクトを複数の場所で更新する必要がありました。IIS 8では、プールを右クリックし、[詳細設定]-> [プロセスモデル]-> [ID]をクリックして、アプリケーションプールの資格情報を更新する必要がありました。私はその後に行くことによってサイト自体を更新しなければならなかった「サイト- >個人用サイト] - > [詳細設定] - > [物理パスの資格」
teynon

4
アカウントが存在し、パスワードが正しい場合でも、無効になっている可能性があります。これは同じ症状を引き起こします。
Wolfgang

2
はい、それが解決策です。アカウントのパスワードが頻繁に変更されます。そして、「詳細設定」で新しいパスワードを指定するのを忘れました
mihkov

2
イベントログを確認する方法は、これらの問題で常に私を助けてくれました、前回イベントログを確認したところ、iisでrewrite.dllをロードできなかったことがわかりました。コントロールパネルのプログラムと機能に行きました。インストールを修復し、すべてが正常に戻った。
Amr Elgarhy 2016

3
最近パスワードを変更しました。これが解決策でした。その他については、ここのスクリーンショットを参照してください:i.imgur.com/rp8bnGy.png
AskYous

43

わかりました。特定のケースで別の解決策があります。WINDOWS10を使用していて、最近(アニバーサリーアップデートパッケージで)更新した場合は、以下の手順に従う必要があります。

  1. 確認Windows Event Viewer-Win + Rをeventvwr押して次のように入力し、Enterキーを押します。
  2. 左側の-> をWindows Event Viewerクリックします。Windows LogsApplication
  3. 次にIIS-W3SVC-WP、中央のウィンドウでソースのエラーを見つける必要があります。
  4. おそらく次のようなメッセージが表示されます。

モジュールDLL >> path-to-DLL <<を読み込めませんでした。データはエラーです。

  1. Control Panel-> に移動するProgram and Features必要があり、ロードできないdllに応じて、別のモジュールを修復する必要があります。
    • for rewrite.dll- IIS URL Rewrite Module 2を見つけてクリックChange->Repair
    • for aspnetcore.dll- Microsoft .NET Core 1.0.0-VS 2015 Toolingを見つけて...-Change > をクリックしますRepair
  2. コンピュータを再起動してください。

この回答は、同様の問題のトラブルシューティングに役立ちました。Core 2.2を削除することにより「サービスを利用できません」エラーが修正されました(修復のみでは修正されませんでした)。賛成票。
Roberto

2
受け入れられた答えは役に立たなかった。これはしました。ありがとう!
Devil's Advocate

1
すばらしい答え、ログは私にモジュールDLL C:\ Windows \ System32 \ inetsrv \ compdyn.dllの読み込みに失敗したことを示しています。データはエラーです。動的コンテンツ圧縮をインストールする
Mehdi Daustany

私にとっては、次のとおりでした。この提案The Module DLL C:\Windows\System32\inetsrv\iis_ssi.dll failed to load. The data is the error.に従って
David Refoua

14

私の状況では、アプリケーションプールがまだ古いパスワードを使用しているときに、ログインパスワードが変更されました。したがって、アプリケーションプールの[詳細設定]をクリックして、[ID]をリセットするだけです。


私はこれが非常に頻繁に発生することに同意します
Sandy

11

同じ問題に直面していて、イベントログを使用してデバッグしました。最初にそれは言った:「ソースMicrosoft-Windows-WASからのイベントID 5059の記述が見つかりません」。

次に、ウィンドウ機能のオン/オフを使用してWASをオンにしました。次に、eventvwrで「Microsoft-Windows-DistributedCOMが見つかりません」でこれを確認しました。

最後に、あきらめてApp Pool(Webサイトへのアクセスを停止するために使用されていた)を削除し、それをそのまま作成し直しました。これで問題は解決しました。


あなたは、同じアプリケーションプールを参照するサイトの束を持って起こる場合と、あなたは使用することができますAPPCMDバッチ更新:それら appcmd list site /xml | appcmd set site /[path='/'].applicationPool:YOURNEWPOOL /in
drzaus

私も働いた。2008年から2012年にアップグレードすると、アプリプールは完全に満足できるものではなくなりました。
Anthony Horne

6

Windows 10でここに来て、記念日の更新に更新した後は、このリンクを確認してください。

https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update

リンクがダウンした場合:イベントログにaspnetcore.dll、rewrite.dll(ほとんどの場合、他の可能性もあります)の読み込みに失敗したことが示されている場合は、不足しているアイテムを修復する必要があります。

これまでに経験した2つの特定の問題とその修正方法を次に示しますが、まったく異なる問題に遭遇する可能性があります。

"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".

6

ほとんどの場合、これはAppPool設定が原因で発生しました。

これを解決するには、以下を確認してください

  1. Apppoolサービスが実行されていることを確認します。
  2. AppPoolのIDを確認します。
  3. そのIDで変更されている場合は、新しいパスワードを入力します。

次の画像は、IISでのこれらの設定を示しています

ここに画像の説明を入力してください


5

McAfee HIPSを使用していて、イベントビューアのアプリケーションログに次のエラーが表示される場合:

モジュールDLL C:\ Windows \ System32 \ inetsrv \ HipIISEngineStub.dllを読み込めませんでした。
データはエラーです。

次に、私の場合、次のようにして問題を解決しました:https : //kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST

ページからの引用:

  1. 「スタート」、「ファイル名を指定して実行」をクリックし、エクスプローラーと入力して「OK」をクリックします。
  2. 次の場所に移動します:%windir%\ system32 \ inetsrv \ config
  3. メモ帳で編集するために、管理者としてファイルapplicationHost.configを開きます。
  4. <globalModules>セクションを編集して、次の行を削除します。
    <add name = "MfeEngine" image = "%windir%\ System32 \ inetsrv \ HipIISEngineStub.dll" />

  5. <modules>セクションを編集して、次の行を削除します。
    <add name = "MfeEngine" />

  6. applicationHost.configファイルの編集が完了したら、ファイルを保存してから、iisresetを使用するか、システムを再起動して、IISサーバーを再起動します。

5

私の場合、イベントログを確認したところ、エラーが見つかりませんでした '構成ファイルを読み取れません'ファイル '\\?\'から構成データを読み取ろうとしました。行番号 '0'。データフィールドにはエラーコードが含まれています。

エラーコードは2307でした。

C:\ inetpub \ temp \ appPools内のすべてのファイルを削除し、iisを再起動しました。問題を修正しました。


4

同様の問題がありました。[ローカルセキュリティポリシー]> [ローカルポリシー]> [ユーザー権利の割り当て]の[バッチジョブとしてログオン]ポリシーにユーザーを追加することで解決しました。


4

初めてサービスを追加し、そのためのアプリプールを作成したとき。コマンドプロンプトから「iisreset」を実行したところ、問題なく動作しました。


3

Visual StudioデバッガーでWebサイトを実行できる場合、アプリケーションプールがクラッシュしているコードの場所を確認できる可能性があります。私の場合、それは無限に再帰的に呼び出される関数であり、スタックオーバーフローを引き起こしました。注:WindowsイベントログとIISログは、問題の診断に役立ちませんでした。


3

iis 8.5でも同じ問題が発生しました。Windowsの[ログ]-> [アプリケーション]でeventViewerを検索した後、 "C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319にある.netフレームワークのmachine.configファイルに対するアクセス許可エラーがあることに気付きました\ Config \ machine.config」。IIS_IUSRSへのアクセス許可を与えることで問題が解決しました(ファイルを右クリックします->プロパティ->セキュリティ->編集->追加-> IIS_IUSRS)


3

このエラーが発生しましたが、私の場合、原因は少し前にユーザーパスワードを変更したことであり、アプリケーションプールを再起動するまで503エラーが表示されませんでした。

アプリケーションプールで新しいパスワードを設定するように修正しました/詳細設定/ ID / [...] /設定... /パスワード/パスワードの確認


2

私にも同様の問題があり、すべてのアプリプールがWebリクエストが行われると常に停止していました。イベントビューアで次のエラーが発生しましたが、

アプリケーションプール 'appPoolName'のワーカープロセスで、エラー '構成ファイルは整形式XMLではありません'がファイル '\?\ C:\ inetpub \ temp \ apppools \ appPoolName \ appPoolName.config'から構成データを読み取ろうとしました。行番号「3」。データフィールドにはエラーコードが含まれています。

これにより、application.configにエラーが発生したことがわかりました。

C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config

私のシナリオでは、デプロイ時にweb.configを編集してIISが明らかに嫌いな要素を使用しました


「IISの要素が明らかに嫌い」あなたが言及した特定の要素は何ですか?
Akhil

この投稿は4年以上前に作成しました。web.configにどの要素が含まれていたかはわかりませんが、それは重要ではありません。OPが説明するアプリプールの問題が私に起こっていて、私はこれらの役に立たないエラーメッセージを返していました。上記の原因は、自分のサイトのweb.configに間違ったエントリを入力したことです。(おそらくスペルミス、構文エラー、またはIISが有効であると認識しなかったセクションがある)
ShaneC

2

Orhanの回答のこのリンクで説明されている手順に加えて、IISマネージャー>サーバールート>モジュール>ネイティブモジュールの構成に移動して、ネイティブモジュールを追加で削除する必要がある場合があります。MfeEngineを選択してから、[削除]を選択します。


2

「Managed Pipeline Mode」を「Classic」から「Integrated」に変更するとうまくいきました。アプリケーションプール->基本設定で変更できます


これにより、IIS 7.5を実行するWindowsサーバー2008 R2に次のWindows KBを適用した後に発生した私の問題が修正されました。### 2019-07 Windows 7およびServer 2008 R2用の.NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8のセキュリティおよび品質ロールアップfor x64(KB4507420)詳細: support.microsoft.com/kb/4507420 ###
phanf

1

ただ、これらに追加するAnniversary Update問題(おかげで、マイクロソフト)あなたが不足しているファイルがある場合cgi.dll、つまりはあなたがEvent Viewer持っています

The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load.  The data is the error.

次に、これを修正するには:

  1. に行く IIS Manager
  2. Connectionsパネルの一番上の行(通常はPC名)を選択します
  3. 右側のパネルの一番下のの下にManagementWeb Platform Installer
  4. 読み込まれたら、 Products
  5. 検索タイプでcgi次にヒット<Enter>
  6. 選択して右側をIIS: CGIクリックAddし、最後Installに下部をクリックします
  7. インストール後は、PCを再起動する必要があり、修正する必要があります。

1
私のものは、私がアンインストールしてから再インストールした「URL書き換え」でした。「モジュールDLL C:\ WINDOWS \ system32 \ inetsrv \ rewrite.dllの読み込みに失敗しました。データがエラーです。」というエラーが発生したためです。
グワショッパ2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.