1942

サーバーへのサイトのデプロイ中にエラーが発生しました。ホームページを読み込もうとしたり、IISの新しいサイトで認証にアクセスしようとすると、次のエラーが発生します。

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

詳細については、シナリオ7が私の16進エラーコードと一致していることを確認してください。

上記のリンク先サイトに記載されている解決策は、私のエラーで言及されているセクションのapplicationHost.configファイルでoverrideModeDefaultを許可するように設定することです。私の場合、system.webServerのセキュリティの下にあります。しかし、サイトが既に適切に展開されているローカルコンピューターでapplicationHost.configを見ると、そのセクションは[拒否]に設定されています。

この解決策が正しければ、同じweb.configでローカルインスタンスはどのように正常に実行されますか?私のapplicationHost.configによると、そのセクションはロックされているはずですが、そうではありません。そのサーバーで実行されている他の多くのサイトがあるため、 applicationHost.configファイルを変更しないことをお勧めします。別の解決策はありますか?

4

34 に答える 34

3621

私も同じ問題を抱えていました。ウェブ上のどこで見つけたか覚えていませんが、これが私がしたことです。

  • 「スタートボタン」をクリックします
  • 検索ボックスに「Windowsの機能をオンまたはオフにする」と入力します
  • 機能ウィンドウで、[インターネットインフォメーションサービス]をクリックします。
  • クリック:「ワールドワイドウェブサービス」
  • クリック:「アプリケーション開発機能」
  • 機能をチェック(有効化)します。CGI以外のすべてをチェックしました。

ところで、私はWindows 7を使用しています。長年にわたる多くのコメントにより、これがWindows10およびServer2019までも機能することが証明されています。

于 2012-10-12T22:06:11.817 に答える
438

IISマネージャーを使用してこれらの設定を編集することもできます。

このLearnIIS記事の注意:

IISのルートからの機能委任の使用:

IISマネージャーの機能委任アイコン

次に、各マシンレベルの読み取り/書き込み権限を制御できます。そうしないと、overrideMode="Deny"エラーが発生します。

機能委任の使用例

于 2012-09-09T21:28:00.420 に答える
192

Windows Server2012IIS8の場合、手順は似ています。

Web Server (IIS)Application Serverをインストールする必要があります。また、オプションのアンダーも必要Web Server (IIS) SupportですApplication Server

MVCのWindowsServer2012およびIIS8の要件

于 2014-01-30T01:01:27.887 に答える
165

「C:\ Windows \ System32 \ inetsrv \ config」に移動します(ここで管理者権限が必要です)applicationHost.configを開きます

:IISExpressおよびVisual Studio 2015では、applicationHost.configは次の場所に保存されます。$(solutionDir).vs\config\applicationhost.config

エラーメッセージページの「configsource」の部分に表示されたセクションを見つけます。私にとって、これは通常「モジュール」または「ハンドラー」でした</ p>

overrideModeDefault属性を次のように変更しますAllow

したがって、行全体は次のようになります。

<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />

ファイルを保存した後、ページはブラウザに正常に読み込まれました。

警告: 64ビットWindowsでapplicationHost.configを編集する

于 2012-04-30T20:22:38.043 に答える
79

ハンドラーのロックを解除する必要があります。これは、次のcmdコマンドを使用して実行できます。

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

たぶん、IIS 8でこのエラーが発生している人のための別の情報は、私の場合はMicrosoftServer2012プラットフォームでした。appcmdの実行後に発生した他のエラーとの戦いに数時間を費やしました。結局、Webサーバーの役割を削除して再度インストールすることで修正できました。

于 2012-12-06T21:17:40.197 に答える
77

1.次の方法で「Windowsの機能をオンまたはオフにする」を開きます。WinKey+R=>「optionalfeatures」=>OK

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

  1. 「アプリケーション開発機能」でこれらの機能を有効にします

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

Win 10でテスト済み-しかし、おそらく他のWindowsバージョンでも動作します。

于 2017-02-23T09:40:33.803 に答える
55

昇格したコマンドプロンプトから次の2つのコマンドを実行しました。

%windir%/system32/inetsrv/appcmd unlock config /section:anonymousAuthentication

%windir%/system32/inetsrv/appcmd unlock config /section:windowsAuthentication
于 2014-11-18T11:22:44.143 に答える
44

この同様の問題に対する私の答えによると;

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

  1. IISマネージャーを開きます
  2. [接続]ペインでサーバーを選択します
  3. メインペインで構成エディターを開きます
  4. [セクション]ドロップダウンで、ロックを解除するセクションを選択します(例:system.webServer> defaultPath)
  5. 右ペインの[属性のロック解除]をクリックします
  6. ロックを解除する必要がある他の設定についても繰り返します
  7. IISの再起動(オプション)-[接続]ウィンドウでサーバーを選択し、[操作]ウィンドウで[再起動]をクリックします
于 2014-09-06T08:16:41.090 に答える
29

これは、IIS 8Windowsサーバー2012R2の場合、私にとってはトリックでした

「機能をオンにする」に移動します

次に、すべてのデフォルト設定、次へ、次へ、次へなどに移動します。

次に、以下のように選択します。 ここに画像の説明を入力してください

次に、IISをリセットします(オプション)が、より安全な方法で行います。

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

これは追加の解決策です。一般的な問題は誰もが異なる問題を抱えているため、解決策も異なります。乾杯!

于 2017-06-01T19:47:50.800 に答える
27

IIS8を搭載したWindowsServer2012で、ASP.NET4.5機能を有効にすることでこれを解決しました。

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

そして、ケンの答えに従います。

于 2014-02-10T17:56:25.470 に答える
26

最適なオプションは、 [開く]Application Settingsから[変更]を選択し、ルートを選択してから選択し、右側のサイドバーから[選択]を選択することです。Custom Site Delegation
IISFeature DelegationApplication SettingsRead/Write ステップ1 ステップ2

于 2016-08-16T12:46:47.957 に答える
19

これを修正するには、IISExpressapplicationhost.configを開きます。このファイルはC:\Users[ユーザー名]\Documents \ IISExpress \ config\applicationhost.configに保存されています

VS2015 +の更新:構成ファイルの場所は$(solutionDir).vs \ config\applicationhost.configです。

次の行を探します

<section name="windowsAuthentication" overrideModeDefault="Deny" />
<section name="anonymousAuthentication" overrideModeDefault="Deny" />
<add name="WindowsAuthenticationModule" lockItem="true" />
<add name="AnonymousAuthenticationModule" lockItem="true" />

それらの行をに変更します

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />

保存して、Asp.netページを更新します。

于 2016-12-29T07:17:20.070 に答える
16

IIS 8の場合、次の場合に、サイトの「認証を表示しようとしたときにエラーが発生した」ことがわかりました。

  1. 「認証-Windows」=「読み取り専用」とマークされたサーバー機能の委任
  2. このサイトには、Windows認証を明示的に参照するweb.configがありました。例えば、

サイトの機能委任を「認証-Windows」=「読み取り/書き込み」とマークすると、エラーは解消されました。「読み取り専用」とマークされた機能では、これは明らかに書き込みを構成するため、web.configはそれを無効にしても参照することをまったく許可されていないようです。

サイトweb.config IISマネージャー-サーバー機能の委任

于 2015-11-18T20:46:15.490 に答える
14

IISExpressとVS2015では、$(solutionDir).vs \ config \ applicationhost.configにapplicationHost.configファイルのコピーがあるため、そこで変更を加える必要があるようです。このリンクを参照してください:http://digitaldrummerj.me/iis-express-windows-authentication/

これらの行が以下のように変更されていることを確認してください。

<section name="windowsAuthentication" overrideModeDefault="Allow" />
<section name="anonymousAuthentication" overrideModeDefault="Allow" />
<add name="WindowsAuthenticationModule" lockItem="false" />
<add name="AnonymousAuthenticationModule" lockItem="false" />
于 2016-01-12T18:31:09.127 に答える
12

私の場合、サーバー上で.NETFrameworkの機能で「HTTPアクティベーション」が有効になっていないということでした。したがって、Windows Server 2012の場合、私にとって有効なソリューションは次のとおりです。

サーバーマネージャー->役割と機能の追加->機能->使用するバージョンの.NETFrameworkで[HTTPアクティベーション]がオンになっていることを確認します

于 2014-05-24T11:32:59.190 に答える
9

機能を有効にするPowershellの方法(Windows Server 2012 +)-必要に応じてトリミングします。

Install-WindowsFeature NET-Framework-Core
Install-WindowsFeature Web-Server -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-Features -IncludeAllSubFeature
Install-WindowsFeature NET-Framework-45-ASPNET -IncludeAllSubFeature
Install-WindowsFeature Application-Server -IncludeAllSubFeature
Install-WindowsFeature MSMQ -IncludeAllSubFeature
Install-WindowsFeature WAS -IncludeAllSubFeature
于 2016-03-09T12:32:22.217 に答える
8

似たような答えが1つあることに気づきましたが、私の場合は、IIS構成エディターを使用して、「ロックを解除」したいセクションを見つけました。

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

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

次に、パスをコピーし、自動化で使用して、編集するセクションを変更する前にロックを解除しました。

. "$($env:windir)\system32\inetsrv\appcmd" unlock config -section:system.webServer/security/authentication/windowsAuthentication
. "$($env:windir)\system32\inetsrv\appcmd" unlock config -section:system.webServer/security/authentication/anonymousAuthentication
于 2019-11-26T04:59:29.977 に答える
7

エラーは、構成セクションが親レベルでロックされていることを示しています。したがって、問題を解決するのは直接1つの構成ファイルではありません。継承を確認するには、構成ファイルの階層を確認する必要があります。以下のリンクを確認して、IISのファイル階層と継承を確認してください。

https://msdn.microsoft.com/en-us/library/ms178685.aspx

したがって、以下の順序でアプリの構成設定を確認する必要があります

  1. C:windows \ system32 \ inetsrv\configのApplicationHost.config。overrideModeDefault属性をAllowに変更します。
  2. アプリケーションディレクトリのApplicationName.configまたはweb.config
  3. ルートディレクトリのWeb.config。
  4. 特定のWebサイトのWeb.config(私の問題はこの場所で見つかりました)。
  5. ルートWebのWeb.config(サーバーの構成)
  6. マシンのmachine.config(ルートのweb.configとmachine.configは--systemroot \ MicrosoftNET \ Framework \ versionNumber \ CONFIG \ Machine.configにあります)

これらすべての構成を1から6の順序で注意深く調べれば、それが見つかるはずです。

于 2018-03-20T09:15:20.597 に答える
6

この素敵なメッセージを受け取ったときに、サブフォルダーのSSL設定を変更する必要がありました。私の場合、次の行動が私を助けてくれました。

C:\ Windows \ System32 \ inetsrv \ config\applicationHost.configを開きました

そして、値をoverrideModeDefault="Deny"から"Allow"に変更しました

<sectionGroup name="system.webServer">
 ...
    <sectionGroup name="security">
        <section name="access" overrideModeDefault="Allow" />
    </sectionGroup>
于 2015-08-28T23:06:53.960 に答える
4

私の場合、間違った構成ファイルを操作していたため、このエラーが発生しました。

私はこれをやっていた:

Configuration config = serverManager.GetWebConfiguration(websiteName);
ConfigurationSection serverRuntimeSection = config.GetSection("system.webServer/serverRuntime");
serverRuntimeSection["alternateHostName"] = hostname;

正しいコードの代わりに:

Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection serverRuntimeSection = configApp.GetSection("system.webServer/serverRuntime", websiteName);
serverRuntimeSection["alternateHostName"] = hostname;

つまり、Webサイトのセクションがある(またはセクションを持つことができる)グローバルファイルC:\ Windows \ System32 \ inetsrv \ config \ applicationHost.configではなく、Webサイトのweb.configを操作しようとしていました。変更しようとした設定は、applicationHost.configファイルにのみ存在します。

于 2013-06-06T22:45:16.407 に答える
4

私の場合、それは別のものでした。

新しいバージョンのVisualStudioにソリューションをロードすると、VSは明らかに新しいプロジェクト固有のapplicationhost.configファイルを作成しました。

MySolutionDir \ .vs \ config \ applicationhost.config

すでにカスタマイズされているグローバルIISExpress設定の代わりに、新しい構成の設定を使用し始めました。(\ Users \%USER%\ Documents \ IISExpress \ config \ applicationhost.config)

私の場合、これは設定する必要のある設定でした。もちろん、それはあなたにとって他の何かかもしれません:

<section name="ipSecurity" overrideModeDefault="Allow" />
于 2017-05-18T20:22:04.840 に答える
3

Vista HomePremiumにIIS7をインストールした後、これと同じ問題が発生しました。エラーを修正するために、Windows \ system32\inetsrvにあるapplicationHost.configファイルにある次の値を変更しました。

セクション->にある次のすべての値を変更します

<div mce_keep="true"><section name="handlers" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>
<div mce_keep="true"><section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> change this value from "Deny" to "Allow"</div>
于 2015-04-04T07:25:41.810 に答える
3

これを試すことができますか:

拒否エラーが発生しているアプリケーションパスに移動し、右クリックします

[プロパティ]->[セキュリティ]タブ

その中で、権限を変更し、チェックボックスの読み取りと書き込みをチェックします。そうすれば、うまくいけばエラーなしで動作します。

于 2016-02-16T10:10:54.957 に答える
2

Windows Server2008とIIS7の場合、手順は似ています。これを参照してください:http: //msdn.microsoft.com/en-us/library/vstudio/bb763178 (v = vs.100).aspx

役割サービスの追加では、「アプリケーション開発機能」が表示されます

機能をチェック(有効化)します。すべてチェックしました。

于 2014-05-12T08:35:42.860 に答える
1

override = "Allow"値(すでにここで説明)を入れていたという問題がありましたが、x64ビットシステムでは.......私の32notepad++はそれらを保存するのに幻想的でした。メモ帳(x64ビットO / S上の64ビットアプリケーション)に切り替えると、設定を保存できました。

見る :

http://dpotter.net/technical/2009/11/editing-applicationhostconfig-on-64-bit-windows/

関連するテキスト:

私が実行している問題の1つは、applicationHost.configを表示し、場合によっては編集する必要がありました。このファイルは%SystemRoot%\ System32 \ inetsrv\configにあります。簡単そうです。コマンドラインから簡単に見つけることができましたが、お気に入りのエディター(Notepad ++)にロードしようとすると、ファイルが見つからないというエラーが発生しました。System32フォルダーが32ビットアプリケーション用にSysWOW64にリダイレクトされていることがわかります。32ビットアプリを使用してSystem32フォルダーを表示する方法はないようです。図に行きます。幸い、64ビットバージョンのWindowsには、64ビットバージョンのメモ帳が付属しています。私はそれが嫌いですが、少なくともそれは機能します。

于 2015-08-12T18:46:35.620 に答える
1

私の場合、ブラウジングに加えてIISの認証設定を更新しようとすると、このエラーが発生していました。web.config自体から認証設定を削除することで、このエラーを取り除くことができました。問題のある構成セクションを削除する方が、サーバーの役割と機能を変更しすぎるよりも侵襲性が低く、場合によっては望ましい場合があります。

削除されたセクション:

    <security>
        <authentication>
            <windowsAuthentication enabled="true" />
        </authentication>
    </security>
于 2015-08-26T19:40:25.170 に答える
1

同様の問題が発生しましたが、次のPowerShellスクリプトを使用して、ボタンクリックで上記の手順を実行するのに役立ちました。

#Install IIS
Import-Module ServerManager

Add-WindowsFeature Web-Server, Web-Asp-Net45, Web-Mgmt-Console, Web-Scripting-Tools, NET-WCF-HTTP-Activation45, Web-Windows-Auth

機能のリストは、要件に基づいて追加または削除できます。

于 2021-03-26T11:18:40.670 に答える
0

私も同じ問題を抱えていました。

  • アプリケーションサーバー機能を有効にすることで解決しました。その後、iisを再起動しました。
于 2014-05-15T22:47:56.213 に答える
0

これは私にとってはうまくいきました。IIS8でも、サーバーをIISExpressに変更することでこの問題を解決できます。[デバッグ]->[プロパティ]に移動します。Webで、ドロップダウンからIIS Expressとしてサーバーを選択し、ソリューションを再構築します。

于 2014-12-02T05:49:26.947 に答える
0

アプリケーションレベル(Web.Config)で変更を行うには:

web.configから信頼レベルを削除してください。

実際、サーバーを制御できないホスティングサーバーでWebサイトをホストしようとしたときに、このエラーが発生していました。アプリケーションweb.configから上記の行を削除すると、問題が解決しました。

于 2015-06-18T11:24:56.827 に答える
0

以下は私のために働いた:

プロジェクトのプロパティに移動します。Webタブ。ローカルIISに設定し、特定のページを設定します。

私はWindows7とVisualStudio2013を持っています。

于 2016-01-28T20:51:53.550 に答える
0

私はこの問題を解決しました

cmdに移動し、aspnet_regiis-iを実行します

それが誰かに役立つことを願っています。

于 2016-09-13T05:58:37.900 に答える
0

iisと場合によってはすべてのサイトを再インストールする前に、C:\ inetpub\historyにアクセスしてください。

フォルダの数が必要です(例:CFGHISTORY_0000000029)。ルート設定ファイルが変更され、そこにエントリが作成されるたび。(デフォルトでは、最後の10個の変更のバックアップが保存されます)

適切な日時のバックアップフォルダを探し、それをクリックして、というファイルがあるかどうかを確認します。applicationhost.config

これを現在のapplicationhost.configファイルと比較するか、現在のバージョンをそれに置き換えます(最初にバックアップを作成します!!!)。

最近、ローカルホストのiisファイルをWindows 2004の更新パッケージで変更しました。これにより、ルートのいくつかの機能(ハンドラーなど)がロックされ、ローカルホストサイトが機能しなくなりました。

Visual Codeでファイルを開くと、overrideModeDefault="Deny"でロックされている各領域を確認できます。

これにより、一歩近づき、このファイルが破損した場合に回復する方法も得られる可能性があります。

于 2020-08-09T04:14:54.397 に答える
-1

レジストリに次のキーを追加すると、問題が解決しました。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance

これらの手順を試したところ、エラーが発生し続けました。

  1. 「Windowsの機能をオンまたはオフにする」を検索します
  2. 「インターネットインフォメーションサービス」を確認してください
  3. 「ワールドワイドウェブサービス」をチェックしてください
  4. 「アプリケーション開発機能」を確認してください
  5. この下のすべてのアイテムを有効にする

次に、イベントビューアを見て、このエラーを確認しました:Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed. The first DWORD in the Data section contains the Win32 error code.

この問題を修正するには、レジストリに次のエントリを手動で作成しました。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance

そして、次の手順に従いました。

  1. 「Windowsの機能をオンまたはオフにする」を検索します
  2. 「インターネットインフォメーションサービス」を確認してください
  3. 「ワールドワイドウェブサービス」をチェックしてください
  4. 「アプリケーション開発機能」を確認してください
  5. この下のすべてのアイテムを有効にする
于 2019-02-12T19:34:47.287 に答える