ASP.NET IIS Web.config [Внутренняя ошибка сервера]

Я сменил ПК /Windows (XP → 7), поэтому IIS (6 → 7,5) и попытался переместить мой сайт

Но я не могу запустить свой сайт с этого сервера., Ошибка:

Описание ошибки: Ошибка HTTP 500.19 -   Внутренняя ошибка сервера

Запрошенная страница недоступна из-за неправильной конфигурации данных для этой страницы.

Сведения об ошибке Модуль IIS Web Core Уведомление Обработчик BeginRequest еще не Определенная ошибка 0x80070021 Ошибка конфигурации Эта конфигурация раздел не может использоваться таким образом. Это происходит, когда раздел заблокирован на родительском уровне. Блокировка либо по умолчанию (overrideModeDefault = "Запретить" ) или устанавливается непосредственно по месту тега с помощью overrideMode = "Запретить" или унаследованное свойство allowOverride = "false". Файл конфигурации \\?\D: \ Проекты \Flow WEB\Sources \ web.config Запрошенный URL-адрес https://192.168.0.172:443/ Физический путь D:\Projects\Flow WEB \ Метод входа в систему еще не существует Определенные пользователи, которые вошли в систему еще не определен Channel

Конфигурация

<handlers>   
<remove name="WebServiceHandlerFactory-Integrated" />

...

моя часть web.config:

    <modules>
        <remove name="ScriptModule" />
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </modules>

    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated" />
        <remove name="ScriptHandlerFactory" />
        <remove name="ScriptHandlerFactoryAppServices" />
        <remove name="ScriptResource" />
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </handlers>

Итак, что не так?

Моя попытка: если я это сделаю -

        <modules allowDefinition="MachineToApplication" overrideModeDefault="Deny">
        <remove name="ScriptModule"/>
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>
    <handlers overrideModeDefault="Deny">
        <remove name="WebServiceHandlerFactory-Integrated"/>

У меня ошибка: Нераспознанный атрибут "overrideModeDefault"

поэтому я не могу добавить его в configSections, потому что он говорит мне, что он уже существует здесь.

и когда я изменил IIS на чтение/запись (например, на картинке), у меня появилась новая ошибка:

    Error description:
Error HTTP 404.3 - Not Found
The requested page can not be displayed because of the configuration expansion. If the page is a script, add a handler. If you need to download the file, add a MIME.
Error Details
Module StaticFileModule
Notice ExecuteRequestHandler
Handler StaticFile
Error 0x80070032
The requested URL-address https: / / 192.168.0.172:80 / Default.aspx
Physical Path D: \ Projects \ Flow WEB \ Sources \ Default.aspx
Anonymous Logon
Users who have logged Anonymous
The most likely reasons:

    * Perhaps there is no comparison handlers. By default, all content is processed by a handler static files.
    * Perhaps the component to which the access is not installed.
    * Corresponding MIME map is not activated for the website or application. Warning: Do not create a MIME map for content that users should not load - say, for the pages. ASPX or files. Config.
    * If ASP.NET is not installed.

Ответ 1

Проверьте это в файле web.config и измените overrideModeDefault с Deny на Allow.

<configSections>
  <sectionGroup name="system.webServer">
    <section name="handlers" overrideModeDefault="Deny" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />

Вы также можете управлять разделами на уровне веб-сервера в консоли управления IIS из раздела "Делегирование функций".

Ответ 2

У меня возникла проблема с runAllManagedModulesForAllRequests, кодом 0x80070021 и http-ошибкой 500.19 и удалось решить ее

С помощью командной строки, запущенной как Admenistrator, перейдите по адресу: C:\Windows\Microsoft.NET\Framework64\v4.0.30319 >

выполнить

aspnet_regiis -i

лото!

Ответ 3

У меня была та же проблема. Не помните, где я нашел его в Интернете, но вот что я сделал:

Нажмите кнопку "Пуск"

в поле поиска введите "Включить или отключить функции Windows"

в окне функций, нажмите "Информационные службы Интернета"

Нажмите "World Wide Web Services"

Нажмите "Функции разработки приложений"

Проверить (включить) функции. Я проверил все, кроме CGI.

IIS - этот раздел конфигурации не может использоваться на этом пути (блокировка конфигурации?)

Ответ 4

У меня возникла одна и та же проблема, и выяснилось, что applicationdeployed имеет версию .NET 3.5, но пул приложений использует .NET 2.0. Это вызвало проблему, описанную выше. Надеюсь, это поможет кому-то.

Моя ошибка:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information
Module IIS Web Core 
Notification BeginRequest 
Handler Not yet determined 
Error Code 0x80070021 

Config Error This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".  
Config File \\?\C:\inetpub\MyService\web.config 
Requested URL http://localhost:80/MyService.svc 
Physical Path C:\inetpub\DeployService\DeployService.svc 
Logon Method Not yet determined 
Logon User Not yet determined 
 Config Source
101:        </modules>
  102:      <handlers>
  103:          <remove name="WebServiceHandlerFactory-Integrated"/>
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information
Module IIS Web Core 
Notification BeginRequest 
Handler Not yet determined 
Error Code 0x80070021 
Config Error This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".  

Config File \\?\C:\inetpub\DeployService\web.config 
Requested URL http://localhost:80/DeployService.svc 
Physical Path C:\inetpub\DeployService\DeployService.svc 
Logon Method Not yet determined 
Logon User Not yet determined 
 Config Source
  101:      </modules>
  102:      <handlers>
  103:          <remove name="WebServiceHandlerFactory-Integrated"/>`

Ответ 5

Для меня это было новое приложение NetCore, которое просто не загружалось через IIS. Когда вы выполняете автономный режим, все было нормально.

Я удалил строку <aspNetCore, а затем получил сообщение об ошибке IIS, в котором говорится, что NetCoreModule не может быть загружен. Этот модуль должен понимать эту новую строку web.config.

Сообщение об ошибке 0x8007000d на самом деле говорит о том, что файл web.config неверен, и эта ошибка появляется до того, как модуль загрузки ошибок сделает это сообщение об ошибке. (и проблема несчастной расы)

Я установил NetCoreSDK и остановил и запустил IIS (перезагрузка не работала)

API NetCore начал работать через IIS, как и ожидалось.

Ответ 6

У меня была та же проблема.

Решение:

  • Нажмите правую кнопку в папке своего сайта в "iis"
  • "Преобразовать в приложение".

Ответ 7

Если у вас есть python, вы можете использовать пакет iis_bridge, который решает проблему. Чтобы установить:

pip install iis_bridge

затем в консоли python:

import iis_bridge as iis
iis.install()