Назад | Перейти на главную страницу

Настройка общей конфигурации IIS 7.5 (с зашифрованными значениями) в Windows Server 2008 R2 Core

Простой вопрос: есть ли способ в PowerShell или appcmd создать файл ConfigEncryptedKey.key, который обычно создается путем экспорта общей конфигурации в IIS 7.5?

Теперь объяснение, почему я хочу это сделать ...

Мы пытаемся использовать функцию общей конфигурации IIS 7.5 в Windows Server 2008 R2 Core.

Проблема в том, что каждое руководство по этой технологии относится к администрированию с помощью диспетчера IIS. В Core вы можете делать это только удаленно (не на самом сервере).

Эта функция (общая конфигурация) недоступна при удаленном администрировании.

Несмотря на это, мы добились определенных успехов в настройке его вручную (т.е. самостоятельно настроили c: \ windows \ System32 \ inetsrv \ config \ redirection.config). Единственная проблема возникает, когда мы пытаемся запустить пул приложений под определенной учетной записью (имя пользователя и пароль). Наличие пароля побуждает IIS зашифровать это значение в общем файле applicationHost.config.

Это нормально для сервера, на котором вы настроили пул приложений. Но когда другой сервер в общей паре пытается запустить пул приложений, он не может расшифровать пароль в applicationHost.

Сообщение об ошибке в журнале событий гласит (System / WAS / Event ID 5021):

Идентификатор mysitename пула приложений недействителен. Имя пользователя или пароль, указанные для удостоверения, могут быть неправильными, или у пользователя могут отсутствовать права на пакетный вход. Если идентификация не исправлена, пул приложений будет отключен, когда пул приложений получит свой первый запрос. Если права на пакетный вход вызывают проблему, необходимо изменить удостоверение в хранилище конфигурации IIS после предоставления прав, прежде чем служба активации процессов Windows (WAS) сможет повторить попытку входа. Если удостоверение остается недействительным после обработки первого запроса для пула приложений, пул приложений будет отключен. Поле данных содержит номер ошибки.

Также обратите внимание, что попытка установить идентификатор на втором сервере через пользовательский интерфейс диспетчера IIS приводит к появлению этого диалогового окна с ошибкой:

При выполнении этой операции произошла ошибка.

Подробности:

Плохие данные. (Исключение из HRESULT: 0x80090005)

Обычно (когда это делается через пользовательский интерфейс диспетчера IIS, который мы не можем использовать в Core), создается вызов файла ConfigEncryptedKey.key. Кажется, это передает второму серверу ключ, необходимый для расшифровки пароля пользователя пула приложений в applicationHost.config.

Поскольку мы не можем использовать пользовательский интерфейс для этого, есть ли способ сделать это программно?

Вы должны уметь использовать технику Приложения 3 из руководства по общей конфигурации ниже: http://learn.iis.net/page.aspx/264/shared-configuration/

Вкратце: ASPNET_REGIIS -px для экспорта IISConfigurationKey и IISWasKey и -pi в целевом поле для их импорта и синхронизации.