1. ホーム
  2. asp.net

[解決済み] IIS Config Error - この設定セクションは、このパスでは使用できません。

2023-05-22 18:43:24

質問

ウェブサイトを実行しようとすると、以下のようなエラーが発生します。

Web サイトは Windows 2012 R2 でホストされています。

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

エラー コード: 0x80070021

コンフィグソースです。

 60:     <httpErrors errorMode="Detailed" />
 61:     <handlers>
 62:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

以下は、私が試したものすべてです。

  1. IIS で "Add features and roles" を使用して .Net 3.5 をインストールしました。
  2. applicationHostファイルで、私は以下のコードを変更しました。

    セクション ハンドラ、モジュール、anonymousAuthentication、basicAuthentication などの overrideModeDefault を "Deny" から "Allow" に変更しました。

  3. 4.5 と同様に .Net 3.5 でも "HTTP Activation" を行いました。

以下は、私のウェブコンフィグファイルハンドラーのコードです。

<handlers>
  <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
  <remove name="OPTIONSVerbHandler"/>
  <remove name="TRACEVerbHandler"/>
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>

  1. このパスの features windows にあるすべての機能をインストールしました。 インターネット インフォメーション サービス --> ワールド ワイド ウェブ サービス --> アプリケーション開発機能 --> CGI 以外はすべて有効化されています。

  2. 機能代表でASPが先ほどRead Onlyになっていたので、Read/Writeに変更しました。

  3. コマンド プロンプトを使用してハンドラのロックを解除

しかし、私はまだこのエラーを取り除くことができません。 私のローカル インスタンスは完全に正常に動作しています。また、この Web サイトが動作している開発サーバーがありますが、本番サーバーでのみ、このエラーが発生します。

この問題を引き起こしている可能性のあるものを見つけるために、どうか私を助けてください。

どのように解決するのですか?

以下の手順で、親階層のハンドラのロックを解除してください。

1) 接続ツリー (IIS) で、サーバー ノードに移動し、次に Web サイトに移動します。

2) ウェブサイトの右側のウィンドウで、「管理」の下に設定エディターが表示されます。

3) コンフィギュレーションエディターをダブルクリックします。

4) 開いたウィンドウの上部に、セクションのドロップダウンがあります。ドロップダウンから "system.webServer/handlers"を選択します。

5) 右側には、別のドロップダウンがあります。ApplicationHost.Config "]を選択します。

6) 一番右のペインで、[セクション] の見出しの下に [セクションのロック解除] があります。これをクリックします。

7) applicationHostのハンドラのロックが解除されると、ウェブサイトは正常に動作するはずです。