web-dev-qa-db-ja.com

HTTPエラー500.19とエラーコード:0x80070021

私はVisual Studio 2013による単純なwebAPIビルドを持っています。VS13から実行するとうまくいきますが、プロジェクトをローカルIISにコピーすると次のようなエラーになります。

HTTPエラー500.19 - 内部サーバーエラーページの関連構成データが無効であるため、要求されたページにアクセスできません。

詳細なエラー情報:

モジュール IIS Web Core

通知 BeginRequest

ハンドラ 未定

エラーコード 0x80070021

設定エラー この設定セクションはこのパスでは使用できません。これは、セクションが親レベルでロックされているときに発生します。ロックは、デフォルト(overrideModeDefault = "Deny")、またはoverrideMode = "Deny"または従来のallowOverride = "false"のlocationタグによって明示的に設定されます。

設定ファイル \?\ C:\ inetpub\wwwroot\APITeslin\web.config

構成ソース:

36:   <system.webServer>  
37:     <handlers>  
38:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
179
Umar Abbas

まったく同じエラーが発生し、この質問に来ました。 @SpaceBisonがコメントで述べたように、この答えは解決策を説明する - https://stackoverflow.com/a/12867753/404099 。私はそれを遅すぎて見つけたので、いくつかのステップを逃します。これは私のために働いたものです:

Windows Server 2012、IIS 8.5 。他のバージョンでも動作するはずです。

  • サーバーマネージャに移動し、[役割と機能の追加]をクリックします。
  • ロールセクションで、Webサーバーを選択します。
    • [セキュリティ]サブセクションですべてを選択します(ダイジェスト、IP制限、およびURL承認は使用しないので除外しました)。
    • [アプリケーション開発]で、[.NET Extensibility 4.5]、[ASP.NET 4.5]、および両方の[ISAPI]エントリを選択します。
  • 機能のセクションで選択してください:NET 3.5、.NET 4.5、ASP.NET 4.5
  • [Webサーバー]セクションで、[Webサーバー(すべて)]、[管理ツール](IIS管理コンソールおよび管理サービス)、[Windows認証]のいずれかを選択します。
291
Ilia Barahovski

空のASP.NETアプリケーションでWCFサービスをホストしようとしたときにこのエラーが発生しました。全体の解決策は、Windows 8.1上で実行されているIIS 8.5上の.NET 4.5プラットフォームを使用することでした。やった

  1. 「Windowsの機能の有効化または無効化」を開きます。
  2. ASP.NET 4.5アドバンストサービスの下のWCFセクションに移動します。
  3. HTTPの有効化を確認してください。
  4. システムを再起動するように求められます。

    Screen Shot

これでHTTP 500.19が修正されるはずです。

編集11-FEB-2016 Windows 10 Proで問題が発生した、IIS 10、今回はHTTP 404.0でした。修正方法は同じです。Windowsの機能 - > .NET Framework 4.6 Advanced Services - > WCFサービス - > HTTP Activationの下にある[HTTP Activation]をオンにします。

96

私も同じ問題を抱えていましたが、IISとgoogleで何時間も猛威を振るった後です。解決策を見つけました。このエラーは、IIS applicationHost.configで一部の設定が無効になっているためです。

解決するための手順は次のとおりです。

  1. C:\Windows\System32\inetsrv\config\applicationHost.configに移動してメモ帳で開きます
  2. に存在する次のキー値を変更します。

    • <section name="handlers" overrideModeDefault="Deny" />この値を "Deny"から "Allow"に変更します

    • <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />この値を "Deny"から "Allow"に変更します

それは私のために働きました。

42
SeeTheC

そのコンピュータでIISを初めて実行している場合は、ASP.NET IIS登録ツール(aspnet_regiis.exe)を実行してみてください。

手順は次のとおりです。net framework v4を使用している場合は、[管理者としてコマンドプロンプト]を開き、次のコマンドを使用してディレクトリを.net frameworkのベースフォルダに変更します。

CD C:\Windows\Microsoft.NET\Framework\v4.0.30319

または、64ビットコンピュータを使用している場合は、次のように使用します。

CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319

適切なディレクトリに移動したら、ASP.NET IIS登録ツールを実行します。

aspnet_regiis -i

別のバージョンの.NET Frameworkを使用している場合は、単にv4.0.30319を適切なフォルダ名に置き換えます。

お役に立てれば。

30
Ibrahim Dauda

私は次のようにしてこれを解決しました:

WebServer(ISS)->WebServer->Application Development
add .NET Extensibility 3.5
add .NET Extensibility 4.5
add ASP.NET 4.5
add ISAPI Extensions
add ISAPI Filters

enter image description here

20
GIOESCOM

Windows 8.1、IIS 8.5では、解決策はコントロールパネルから4.5を登録することでした。

プログラムと機能> Windowsの機能の有効化または無効化>情報情報サービス> World Wide Webサービス>アプリケーション開発機能> ASP.NET 4.5の選択

OKをクリックしてください。

8
Jon

エラーが示すように - 「これは、セクションが親レベルでロックされている場合に発生します」。セクションのロックを解除するには、 appcmd.exe を使用して次のコマンドを実行します。

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers -commitpath:apphost

セクションロックと親設定コンテキストが何であるかについての詳細は IIS documentation を参照してください。

4
Taras Alenin

私の場合、IIS URL Rewrite moduleのルールがありましたが、そのモジュールをインストールしていませんでした。含まれているがインストールされていないモジュールがある場合は、web.configを確認してください。

3
x-freestyler

私たちの場合、私たちはかなりの数日間このエラーに苦しんでいました。コントロールパネルのプログラムで、Windowsの機能をオンまたはオフにします。

インターネットインフォメーションサービス、ワールドワイドウェブサービス、アプリケーション開発機能を選択し、そこで開発環境に関連する一連の機能をチェックします。たとえば、ASP.NET 4.6などです。 .NET Extensibility 4.6など.

できます!

2
Javier Livio

次のように、サーバーレベルで関連するIIS(7.5)構成設定のロックを解除してみます。

  1. 開く IIS Manager
  2. サーバーを選択します 「接続」ペインで
  3. メインペインで [設定エディタ] を開きます。
  4. [セクション]ドロップダウンで、ロックを解除するセクションを選択します。 system.webServer> defaultPath
  5. 右ペインで [属性のロック解除] をクリックします。
  6. ロックを解除する必要がある他の設定についても繰り返します。
  7. 再起動IIS(オプション) - [Conncetions]ペインでサーバーを選択し、[Actions]ペインで[Restart]をクリックします。
2
Chris

Web.configにフォーム認証を使用していると記述されています - 実行中のWebサイトでは、[認証]メニューのIISでフォーム認証とdisableanonymous認証)を有効にしてください。 IISで。

1
SpaceBison

私たちはAmazon Web Servicesを使用しているので、この問題を解決するためにスクリプトとプログラムを使用することを検討しています。だから私はコマンドラインツールを探していました。それで最初に私はランニングのトリックを試みました

c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

しかし、私はクラウドベースのWindows Server 2012を実行しているので、それは文句を言いました

This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.Microsoft.com/fwlink/?LinkID=216771.

そして私はグーグルして、公式の マイクロソフトサポートページKB2736284 を見つけました。そのため、コマンドラインツールdism.exeがあります。だから私は以下を試してみました

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

しかしそれは文句を言って試してみるべきfeaturenameのリストを与えたので、私はそれらを一つずつ試してみて、私はそれぞれの後に私のWebAPIウェブページをテストしました。

dism /online /enable-feature /featurename:IIS-ApplicationDevelopment
dism /online /enable-feature /featurename:IIS-ISAPIFilter 
dism /online /enable-feature /featurename:IIS-ISAPIExtensions 
dism /online /enable-feature /featurename:IIS-NetFxExtensibility45 

そして今、私は自分のWebAPIサイトを閲覧してAPI情報を見ることができます。それは少数の人々を助けるはずです。 [しかし、私はまだ完全に自分の森の外にいるわけではなく、箱の外からウェブサイトにアクセスすることはできません。まだ作業中です。]

また、私は他の人々の反応に続いていくつかのより早いステップをしました。次の機能の委任を変更する必要があることを確認できます(ただし、これらのコマンドラインツールを見つけたいのですが)。

In Feature delegation

Change 
'Handler Mappings' from Read Only to Read/Write

Change 
'Modules' from Read Only to Read/Write

Change 
'SSL Settings' from Read Only to Read/Write
0
S Meaden

Windows Server上の.NET Coreアプリ(私の場合はIIS 10)では、.NET Core Windows Server Hostingバンドル( link )をインストールした後に動作しました。

0
Alex Klaus

IISサーバーにURL書き換え機能がインストールされているかどうかを確認してください。
インストールされていない場合は、web.configファイルにURL書き換え関連の設定が含まれていないことを確認してください。

<!-- Make sure don't have below config, if server have not installed url rewrite feature. -->
<rewrite>
  <rules>
    <rule name="Fail bad requests">
      <match url=".*"/> ...

ときどき私たちがレガシーサーバーから設定をコピーして、真新しいサーバーにデプロイすると、そのような500の問題に出会うかもしれません。

0
Frank Myat Thu

私は削除されたanonymousAuthenticationで直しました。
Web設定IISにコメントするだけ

<security>          
    <!--
    <authentication>
        <anonymousAuthentication userName=""/>
    </authentication>
    -->
</security> 
0
Pit J

<staticContent />行を削除し、web.configから削除してください。

0
Erdogan