none
Ошибка 500.19 RRS feed

  • Вопрос

  • Здравствуйте! Помогите, пожалуйста, решить проблему. Имею IIS 7.5 (Win Server 2008 r2). Создал сайт на порту 65530. Сайт по умолчанию отключил. В Visual Studio 2010 создал шаблонное приложение ASP NET MVC 3 ничего в него не добавляя. Средствами VS 2010 опубликовал его в каталог созданного сайта. Оба компьютера находятся в локальной сети. Пытаюсь запустить приложение и имею следующую ошибку:

    Ошибка НТТР 500.19 Internal Server Error. Запрашиваемая страница недоступна из-за неверной конфигурации данных для этой страницы.

    Код ошибки: 0х80070021.

    Файл web.config создан по умолчанию, имеет вид:

    <?xml version="1.0"?>
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=152368
      -->

    <configuration>

    ....

      <appSettings>
        <add key="webpages:Version" value="1.0.0.0"/>
        <add key="ClientValidationEnabled" value="true"/>
        <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
      </appSettings>

      <system.web>
        <compilation targetFramework="4.0">
          <assemblies>
            <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
          </assemblies>
        </compilation>

        <authentication mode="Forms">
          <forms loginUrl="~/Account/LogOn" timeout="2880" />
        </authentication>

        <membership>
          <providers>
            <clear/>
            <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
                 enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
                 maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
                 applicationName="/" />
          </providers>
        </membership>

        <profile>
          <providers>
            <clear/>
            <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
          </providers>
        </profile>

        <roleManager enabled="false">
          <providers>
            <clear/>
            <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/" />
            <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
          </providers>
        </roleManager>

        <pages>
          <namespaces>
            <add namespace="System.Web.Helpers" />
            <add namespace="System.Web.Mvc" />
            <add namespace="System.Web.Mvc.Ajax" />
            <add namespace="System.Web.Mvc.Html" />
            <add namespace="System.Web.Routing" />
            <add namespace="System.Web.WebPages"/>
          </namespaces>
        </pages>
      </system.web>

      <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true"/>
      </system.webServer>

      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>

    Роль ВЕБ-сервера добавлена также в конфигурации по умолчанию

    К ошибке дано пояснение:

    This heppens when the section is locked at a parent level/ Locking is either by default (overrideModeDefault="Deny") or set explicity by a location tag with overrideMode="Deny" or the legacy allowOverride="false".

    Показан источник конфигурации (выделена строка 74):


     73:     <validation validateIntegratedModeConfiguration="false"/>
     74:     <modules runAllManagedModulesForAllRequests="true"/>
     75:   </system.webServer>

    Подскажите, плз, где и что надо править?

     

    12 сентября 2011 г. 14:22

Ответы

  • Поборол проблему. Причина, как всегда, была на поверхности. На сервере был установлен NET 3.5, а приложение создано в среде NET 4.0 (а всё из-за невнимательности :) ). Установил на сервере NET 4.0 и всё заработало. Смущает только один факт: пришлось несколько сборок перебрасывать со своего компьютера в директорий \bin приложения на сервере, в GAC сервера их не было. Очевидно, они не включены в установочный пакет. Непонятно почему?
    • Предложено в качестве ответа Aleksey Medvedovskiy 14 сентября 2011 г. 4:58
    • Помечено в качестве ответа Dmitry DavydovModerator 14 сентября 2011 г. 13:29
    13 сентября 2011 г. 15:39

Все ответы

  • Какая проверка подлинности увас используется? Если Анонимная то в проверке подлинности переставте крыжик на "Удостоверение пула приложений". Если проверка подлинности windows? попробуйте включить проверку подлинности ядра.
    MCP,MCTS
    13 сентября 2011 г. 5:09
  • Используется анонимная проверка с использованием удостоверения пула приложений. Для пула приложений, в значениях по умолчанию, в качестве удостоверения используется ApplicationPoolIdentity
    13 сентября 2011 г. 5:53
  • А какие разрешения у вас на каталог с приложением?

    посмотрите вот это http://technet.microsoft.com/ru-ru/library/cc730708(WS.10).aspx

    http://msdn.microsoft.com/ru-ru/library/bb763174(v=vs.90).aspx

     


    MCP,MCTS

     


    13 сентября 2011 г. 6:02
  • Общий доступ к папке отсутствует, но я открыл, временно, общий доступ к диску С:

    На вкладке безопасность для групп соответственно:

    IIS_IUSRS - чтение и выполнение;

    SYSTEM - полный доступ;

    Administrators - полный доступ;

    USERS - чтение и выполнение;

    USERS - особые (создание файлов, создание папок );

    Creator Owner - полные (только для подпапок и файлов).

     

    Каталог сайта создан в корне диска С:

    13 сентября 2011 г. 6:22
  • попробуйте включить в проверке подлинности  олицетворение ASP.net

    и из командной строки выполните

    icacls "C:\folder IIS\" /grant  "IIS APPPOOL\имя вашего пула приложения":F

    перезапустите IIS и проверте.


    MCP,MCTS
    • Изменено Aleksey Medvedovskiy 13 сентября 2011 г. 6:56 ошибка в команде
    13 сентября 2011 г. 6:35
  • Пишет, что не удаётся найти icaccls
    13 сентября 2011 г. 7:03
  • Пишет, что не удаётся найти icaccls

    icacls
    MCP,MCTS
    13 сентября 2011 г. 7:09
  • набрал такую строку icacls C:\websites\mvc1 /grant  "IIS APPPOOL\mvc1":F

    после запуска получил сообщение: "успешно обработано 1 файлов; не удалось обработать 0 файлов". Перезапустил IIS, но результат тот же.  C:\websites\mvc1 - это каталог сайта,  mvc1 - имя пула приложений. Правильно ли я указал параметры?

    Просмотрю указанные Вами ссылки. О результате сообщу

    13 сентября 2011 г. 7:49
  • Да, все верно.


    MCP,MCTS
    13 сентября 2011 г. 7:58
  • Поборол проблему. Причина, как всегда, была на поверхности. На сервере был установлен NET 3.5, а приложение создано в среде NET 4.0 (а всё из-за невнимательности :) ). Установил на сервере NET 4.0 и всё заработало. Смущает только один факт: пришлось несколько сборок перебрасывать со своего компьютера в директорий \bin приложения на сервере, в GAC сервера их не было. Очевидно, они не включены в установочный пакет. Непонятно почему?
    • Предложено в качестве ответа Aleksey Medvedovskiy 14 сентября 2011 г. 4:58
    • Помечено в качестве ответа Dmitry DavydovModerator 14 сентября 2011 г. 13:29
    13 сентября 2011 г. 15:39
  • видимо visual studio при установке для своих шаблонов регистрирует определенные сборки которые не входят default пакет NET 4.0.

    Вы framework 4.0 full ставили на сервер?


    MCP,MCTS
    14 сентября 2011 г. 4:58
  • Да, полный пакет: dotNetFx40_Full_x86_x64.

    Спасибо Вам за подсказки.

    14 сентября 2011 г. 6:29
  • Началась аналогичная проблема. В случайный момент времени или после перезагрузки:

    Ошибка HTTP 500.19 - Internal Server Error

     

     <validation validateIntegratedModeConfiguration="false" />
       77:     <modules runAllManagedModulesForAllRequests="true" />
       78:     <security>

    Происходит на двух сайтах т.е. проблема не в одном. Оба на .NET 4. Что интересно - запуск 

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

    исправляет ситуацию и сайты поднимаются, но до перезагрузки (или опять ошибка  через какой-то промежуток времени

    15/12 сайты поднял 19/12 решил проверить - лежат). aspnet_regiis.exe -i .NET 2 вылетает по ошибке ---------------------------

    Windows Package Manager

    Operation failed with 0x80070BC9

    The requested operation failed. A system reboot is required to roll back changes made.

    Перезагрузки не помогают.

     

     

    19 декабря 2011 г. 10:31