IISがASP.NETコンテンツの提供を拒否するのはなぜですか?


16

Windows Server 2003 StdサーバーがASP.NETコンテンツのサーバーへのアクセスを拒否します。それは通常のhtmlを問題なく提供しますが、.netは何でも、ASPX拡張のある1行のhtmlファイルでも静かに失敗します。

私が試したもの:

  • 失敗した場合、イベントログまたはIIS WWWログには何もありません。
  • フィドラーが応答を示さない
  • .NETを再インストールしました
    • C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
  • 考えられるすべてのもの(フルコントロール、読み取り、書き込みなど)に対するわいせつな高いアクセス許可を、関連する可能性のあるすべてのユーザー(IUSER *、ASP.NETなど)に与えます。
  • ASP.Net v1およびv2 Webサービス拡張がIISで「許可」されていることを確認しました
  • サーバーマネージャーでIISおよびASP.Netロールが有効になっていることを確認しました

繰り返しますが、これはシナリオです:

どんなガイダンスでも大歓迎です!


解決策:以下の手順に従って再インストールしましたが、現在は機能しています。皆さんありがとう!

回答:


23

私はこの問題に何度か遭遇しましたが、そのたびに解決策は次のとおりでした。

  1. コントロールパネルに移動します
  2. 「Windowsコンポーネント」エリアに移動します
  3. IISを削除し、アンインストールさせます
  4. リブート
  5. IISを再追加します(チェックボックスをオフにするときは、ASP.NETのものを必ず含めてください)。
  6. 実行:C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

クライアントサイトでこれを1回デバッグするのに何時間も費やしましたが、それがトリックでした。それ以来、これが起こるたびに、これが修正されました。

根本的な原因がわからないのですが、IIS構成を理解しようとすると、IIS構成がバラバラになり、Microsoft RDCを問題のサーバーに2時間または3時間入れてしまいました。 。

したがって、ASP.NET / IISの文書化されていないバグとしてそれを書き留めます。


1
それでした。このような不満足なソリューションでこれに多くの時間が無駄になりました。実際の原因がわからないのは嫌です。まあ、今はうまくいっています。ありがとう、サム!
マイケルハーレン

2
ステップ6:C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren

問題ありません-役に立ててうれしいです、これは苦痛なものだとわかっています!
サムシュート

また、実際の原因は単にインストールの失敗である可能性があります。私がこれに遭遇したとき、他のすべてがうまく見えることは知っていますが、レジストリまたは設定が何らかの理由でねじ込まれていると思います。
サムシュート

フラグが大文字の「i」であることをわかりやすくするために、ステップ6のコマンドをコードとしてフォーマットする価値があるかもしれません。
デイブアンデルセン

9

これを試してください:http://localhost/blah.aspx(存在しないページであるべきです)。asp.netエラーページの代わりに404が表示される場合、asp.netは実行されていません。403エラーが表示されている場合、サイトのアクセス許可は間違っています。

役立つチェックリストを次に示します。

  • IISは実行されていますか?
  • ウェブサイトは実行されていますか?
  • Webサイトのアプリプールは正常に機能していますか?
  • ASP.NETがインストールおよび登録されていますか?

    cd / d%windir%\ Microsoft.Net \ Framework \ v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • ASP.NETは実行されていますか?

Webサイトのプロパティの[ASP.NET]タブを確認します。適切なバージョンを使用していることを確認してください。

  • 権限は正しく設定されていますか?

サイトのプロパティの[ホームディレクトリ]タブを確認し、[実行権限]設定を確認します。スクリプトを許可するように設定する必要があります。また、「Webサービス拡張」をチェックして、asp.netの実行が許可されていることを確認してください。


これは、今後の参考のための素晴らしいリストです。-aスイッチと-enableスイッチ、およびblah.aspxのアイデア以外は、すべて試しました。IISの再インストールが必要でした。助けてくれてありがとう!
マイケルハーレン

正しく実行されているアプリプールはどのようなものですか?正しく実行されていないアプリプールはどのようなものですか?
イアン・ボイド

asp.netの実行が許可されていることを確認できるように、「Webサービス拡張」はどこにありますか?
イアン・ボイド

3

IISマネージャーを開き、左ペインの[Webサービス拡張]フォルダーをクリックします。次に、右側のペインでASP.NET拡張機能をクリックし、[許可]ボタンをクリックします。


それはすでにかかわらず、提案に感謝を許可されています
マイケル・ハーレン

2

前の回答に従って、.netサポートを再確立するためにIISをアンインストール/再インストールする必要はありません。適切なフレームワークフォルダーにあるaspnet_regiis.exeユーティリティを実行するだけです。例:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

私の質問に記載されている方法とは異なる方法でこれを行いますか?そうでない場合、私はすでにこれを試しました。
マイケルハーレン

何らかの理由で、regiisを実行するだけでは役に立ちません。
サムシュート
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.