Команда перестроить applicationHost.config в IIS 7

Есть ли способ перестроить файл applicationHost.config в IIS 7 с помощью команды Windows? Или если вы можете помочь мне исправить проблему, изменив этот файл, это тоже хорошо. При сравнении этого файла с другими серверами я замечаю очень важные разделы, которые отсутствуют или различаются после удаления сайта и нескольких пулов приложений.

Я никоим образом не специалист в IIS 7, но я использую его уже 7 лет. Я уверен, что выполнил все правильные шаги для новой конфигурации сайта и все еще дает мне эту ошибку, "401.1 "You are not authorized to view this page. You do not have permission to view this directory or page using the credentials that you supplied."

C:\Windows\System32\inetsrv\config\applicationHost.config

Это произошло на машине, где IIS APPPOOL {app pool user} не существует, поэтому мы никогда не использовали этого пользователя, как обычно, при настройке разрешений. Однако на прошлой неделе мы добавили соответствующие разрешения для IIS_IUSRS (с IUSR в этой группе), и сайт работал нормально. Мы используем проверку подлинности Windows, и все остальные методы проверки подлинности отключены. Нет виртуальных каталогов. Мы используем .NET 4.0, Classic и 32-разрядное приложение (в расширенных настройках).

Нам пришлось вручную обновить имя хоста, выполнив следующую команду в "C:\Windows\System32\inetsrv" в привязке, поскольку IIS будет серым из имени хоста, когда сертификат SSL VeriSign будет добавлен к привязке.

appcmd set site /site.name:"himc" /+bindings.[protocol='https',bindingInformation='*:443:subdomain.domain.com']

Отсутствующие разделы на "плохом" веб-сервере:

1 - существует в "хорошем" поле, отсутствует в "плохом" поле

<customMetadata>
    <key path="LM/W3SVC/INFO">
        <property id="4012" dataType="String" userType="1" attributes="Inherit" value="NCSA Common Log File Format,Microsoft IIS Log File Format,W3C Extended Log File Format,ODBC Logging" />
        <property id="2120" dataType="MultiSZ" userType="1" attributes="None" value="400,0,,,0&#xA;" />
    </key>
</customMetadata>

2 - существует в "хорошем" поле, отсутствует в "плохом" поле

    <asp>
        <cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
    </asp>

3 - этот раздел существует в "хорошем" поле, но только 2 (первые 2 строки) существуют в "плохом" поле.

<isapiFilters>
    <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" />
    <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" />
    <filter name="ASP.Net_2.0_for_V1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" />
    <filter name="ASP.Net_4.0_64bit" path="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness64" />
    <filter name="ASP.Net_4.0_32bit" path="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv4.0,bitness32" />
</isapiFilters>

4 - этот раздел существует в "плохом" поле, но отсутствует в "хорошем" поле

    <applicationDependencies>
        <application name="Active Server Pages" groupId="ASP" />
    </applicationDependencies>

5 - свойство ssiExecDisable отсутствует в поле "good"

    <serverSideInclude ssiExecDisable="false" />

6 - раздел отсутствует в поле "bad"

        <authentication>
            <anonymousAuthentication enabled="false" />
            <windowsAuthentication enabled="true" />
        </authentication>

Ответ 1

По-видимому, Microsoft хранит историю этих файлов в:

C:\inetpub\history\

Ответ 2

Если вы просто хотите изменить текущий активный applicationHost.config, посмотрите эту статью:

Редактирование Applicationhost.config на 64-битной версии Win2008

Как говорится в статье, по какой-то причине applicationHost.config видна только с помощью Explorer (что объясняет, почему я не видел файл из моего настраиваемого файлового менеджера), и вы можете редактировать его без проблем с помощью Notepad (опять же, любой другой редактор и у вас возникнут проблемы).

Ответ 3

Сначала создайте резервную копию всех файлов конфигурации!

Таким образом, IIS сохраняет историю конфигурационных файлов в C:\inetpub\history. Итак, что вам нужно сделать, это помнить последнюю известную дату, когда IIS работал нормально, а затем скопировал содержимое файла конфигурации из c:\inetpub\history и заменил файлы конфигурации в c:\windows\system32\inetsrv\config.

Удачи!

Ответ 4

Чтобы установить резервную копию старой конфигурации, вы можете использовать команду:

c:\windows\system32\inetsrv\appcmd restore backup CFXHISTORY_xxxxxxxx

где CFXHISTORY_xxxxxxxx - это подпапка C:\inetpub\history\.

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

Или вы можете просто скопировать файл из резервной копии, как описано в fooobar.com/questions/600704/...

Ответ 5

Папка истории inetpub сохранила мою задницу. Я просто восстановил два файла в корневой папке и решил проблему wallah.