Как настроить сервер IIS для веб-синхронизации
Изменения: 12 декабря 2006 г.
Описанные в данном разделе процедуры составляют второй этап настройки веб-синхронизации при репликации слиянием. Эти процедуры выполняют после включения веб-синхронизации для публикации. Обзор этого процесса настройки см. в разделе Настройка веб-синхронизации. После завершения выполнения процедур, описанных в этом разделе, перейдите к третьему этапу — настройке подписки для использования веб-синхронизации. Этот этап описывается в следующих разделах:
- SQL Server Management Studio: Как настроить подписку для использования веб-синхронизации (среда SQL Server Management Studio)
- Программирование репликации на языке Transact-SQL: How to: Configure a Subscription to Use Web Synchronization (Replication Transact-SQL Programming)
- Объекты RMO: How to: Configure a Subscription to Use Web Synchronization (RMO Programming)
Веб-синхронизация использует сервер служб Microsoft IIS для синхронизации подписок по запросу на публикации слиянием. Поддерживаются службы IIS версий 5.0 и 6.0.
Важно! |
---|
Убедитесь в том, что приложение использует только .NET Framework 2.0 или более позднюю версию, а более ранние версии .NET Framework на IIS-сервере не установлены. Более ранние версии .NET Framework могут вызывать ошибки. К ним относятся: «Недопустимый формат сообщения во время веб-синхронизации. Убедитесь в том, что компоненты репликации на веб-сервере настроены корректно». |
Чтобы использовать веб-синхронизацию, необходимо настроить службы IIS, выполнив следующие шаги. Каждый шаг подробно описан в данном разделе.
- Настройте протокол SSL (Secure Sockets Layer). Протокол SSL необходим для связи между сервером IIS и всеми подписчиками.
- Установите сетевые компоненты Microsoft SQL Server на сервере IIS с помощью мастера установки SQL Server. Если планируется использовать мастер настройки веб-синхронизации, упомянутый в шаге 3, то также необходимо установить среду SQL Server Management Studio на сервер IIS.
- Настройте сервер IIS для проведения веб-синхронизации. Можно выполнить настройку вручную или использовать мастер настройки веб-синхронизации. Рекомендуется использовать мастер настройки веб-синхронизации.
Примечание. Если сервер IIS выполняется под управлением 64-разрядной версии Microsoft Windows, необходимо выполнить следующую команду для того, чтобы убедиться, что этот сервер правильно настроен для запуска приложений Internet Server API (ISAPI): cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1
. Дополнительные сведения см. в документации по службам IIS. - Установите нужные разрешения для средства прослушивания репликации SQL Server.
- Запустите веб-синхронизацию в диагностическом режиме, чтобы проверить соединение с сервером IIS и убедиться, что SSL-сертификат установлен правильно.
Настройка протокола SSL
Чтобы настроить протокол SSL, укажите сертификат, который будет использоваться сервером IIS. Веб-синхронизация для репликации слиянием поддерживает использование серверных сертификатов, а не клиентских. Чтобы настроить службы IIS для развертывания, необходимо вначале получить сертификат из центра сертификации (certification authority, CA). Центр сертификации — это организация, отвечающая за установку и документальное подтверждение подлинности открытых ключей шифрования, принадлежащих пользователям, компьютерам и другим центрам сертификации. Дополнительные сведения о сертификатах см. в документации по службам IIS. После установки сертификата необходимо связать сертификат с веб-узлом, который используется веб-синхронизацией.
Указание сертификата для развертывания
Войдите на сервер IIS под учетной записью администратора.
Запустите диспетчер служб IIS:
- Нажмите кнопку Пуск, затем щелкните Выполнить.
- В поле Открыть введите inetmgr и нажмите кнопку OK.
Запустите мастер сертификатов служб IIS:
- В окне Диспетчер служб IIS раскройте узел локальный компьютер, а затем — папку Веб-узлы.
- Щелкните правой кнопкой Веб-узел по умолчанию и выберите Свойства.
- В диалоговом окне Свойства веб-узла по умолчанию на вкладке Безопасность каталогов щелкните Сертификат сервера.
- Выполните все указания мастера сертификатов веб-сервера
Нажмите кнопку ОК.
Если не удается получить сертификат от центра сертификации, можно указать сертификат для тестирования. Чтобы настроить службы IIS 6.0 для тестирования, установите сертификат с помощью программы SelfSSL. Эта программа доступна в IIS 6.0 Resource Kit. Инструменты можно загрузить с этого веб-узла Майкрософт. Дополнительные сведения по использованию служб IIS версии 5.0 см. на веб-узле Майкрософт.
Примечание. |
---|
Сертификат должен быть связан с веб-узлом, прежде чем этот веб-узел сможет использовать протокол SSL. Программа SelfSSL автоматически связывает сертификат с веб-узлом по умолчанию. Если сертификат уже имеется или будет установлен позже из центра сертификации, то необходимо явно связать этот сертификат с веб-узлом, который используется для веб-синхронизации. Убедитесь, что существует только один сертификат, связанный с веб-узлом, который используется для синхронизации подписок. Если имеется несколько сертификатов, подписчик будет использовать первый доступный веб-узел. |
Указание сертификата для тестирования в службах IIS 6.0
Войдите на сервер IIS под учетной записью администратора.
Загрузите и установите программу SelfSSL. По умолчанию она устанавливается в папку <диск>:\Program Files\IIS Resources\SelfSSL. Ярлыки программы и документации копируются в папку <диск>:\Documents and Settings\All Users\Start Menu\Programs\IIS Resources\SelfSSL.
Запустите SelfSSL:
- Чтобы запустить SelfSSL со значениями по умолчанию для всех параметров, найдите каталог установки этой программы, а затем дважды щелкните файл SelfSSL.exe.
Примечание. По умолчанию сертификат, устанавливаемый программой SelfSSL, действителен в течение семи дней. - Чтобы задать значения для одного или нескольких параметров, нажмите кнопку Пуск, затем выберите пункт Выполнить. В поле Открыть введите cmd и нажмите кнопку OK. Найдите каталог установки программы SelfSSL, введите
SelfSSL
, а затем задайте значения для одного или нескольких параметров. Для просмотра списка параметров введите командуSelfSSL -?
.
- Чтобы запустить SelfSSL со значениями по умолчанию для всех параметров, найдите каталог установки этой программы, а затем дважды щелкните файл SelfSSL.exe.
Установка сетевых компонентов и среды SQL Server Management Studio
Установка сетевых компонентов SQL Server и среды SQL Server Management Studio
Войдите на сервер IIS под учетной записью администратора.
С установочного диска Microsoft SQL Server 2005 запустите мастер установки SQL Server. Дополнительные сведения об использовании этого мастера см. в разделе Как установить SQL Server 2005 (программа установки).
На странице Компоненты для установки нажмите Дополнительно.
На странице Выбор компонентов раскройте узел Клиентские компоненты.
Выберите Компоненты связи и щелкните Все компоненты будут установлены на локальный жесткий диск.
Если планируется использовать мастер настройки веб-синхронизации, то:
- Раскройте узел Средства управления.
- Выберите Среда SQL Server Management Studio и щелкните Все компоненты будут установлены на локальный жесткий диск.
Выполните все инструкции мастера и перезапустите компьютер.
Примечание. Можно установить дополнительные компоненты, но для веб-синхронизации требуются только сетевые компоненты.
Настройка сервера IIS с помощью мастера настройки веб-синхронизации
Настройте сервер IIS вручную или с помощью мастера настройки веб-синхронизации. Рекомендуется использовать мастер настройки, несмотря на это, в следующем разделе содержатся инструкции по настройке вручную. Следующая конфигурация:
- Использует веб-узел по умолчанию в IIS. Однако можно использовать другой веб-узел. Дополнительные сведения о том, как создать веб-узел, содержатся в документации по службам IIS.
Примечание. Заданный веб-узел обеспечивает доступ к компонентам, которые используются при веб-синхронизации. Веб-узел не предоставляет доступ к другим данным или веб-страницами, если его не настроить соответствующим образом. - Создает виртуальный каталог и связанный с ним псевдоним. Этот псевдоним используется при доступе к компонентам веб-синхронизации. Например, если адрес сервера IIS — https://server.domain.com и задается псевдоним «websync1», то адресом доступа к компоненту replisapi.dll будет https://server.domain.com/websync1/replisapi.dll.
- Использует обычную проверку подлинности. Рекомендуется использовать процедуру обычной проверки подлинности, поскольку она позволяет запускать сервер IIS и издатель/распространитель SQL Server на отдельных компьютерах (рекомендованная конфигурация) без делегирования Kerberos. Использование протокола SSL в сочетании с обычной проверкой подлинности обеспечивает шифрование имен входа, паролей и всех данных в процессе передачи. (SSL требуется, независимо от типа используемой проверки подлинности.) Дополнительные сведения о рекомендациях по веб-синхронизации см. в подразделе «Рекомендации по мерам безопасности для веб-синхронизации» раздела Настройка веб-синхронизации.
Настройка сервера IIS с помощью мастера настройки веб-синхронизации
На сервере IIS запустите среду SQL Server Management Studio.
Подключитесь к издателю и разверните узел сервера.
Раскройте папку Локальные публикации, щелкните правой кнопкой мыши нужную публикацию и выберите Настроить веб-синхронизацию.
В мастере настройки веб-синхронизации на странице Тип подписчика выберите SQL Server.
На странице Веб-сервер выполните следующие действия:
- Выберите экземпляр сервер IIS, который будет синхронизировать подписки.
- Выберите Создать новый виртуальный каталог.
- В нижней панели страницы разверните экземпляр сервера IIS, раскройте Веб-узлы и щелкните Веб-узел по умолчанию.
На странице Сведения виртуального каталога выполните следующие действия:
- Введите псевдоним виртуального каталога в поле Псевдоним.
- Введите путь виртуального каталога в поле Путь. Например, если в поле Псевдоним введено websync1, то в поле Путь нужно ввести C:\Inetpub\wwwroot\websync1. Нажмите кнопку Далее.
- В обоих диалоговых окнах нажмите кнопку Да. Это означает, что нужно создать новую папку и скопировать SQL Server Internet Server API (ISAPI) DLL. .
На странице Доступ с проверкой подлинности выполните следующие действия:
- Убедитесь, что сняты флажки Встроенная проверка подлинности Windows и Краткая проверка для серверов доменов Windows.
- Установите флажок Обычная проверка подлинности.
- В полях Домен по умолчанию и Область введите имя домена, в котором развернут сервер IIS.
На странице Доступ к каталогам выполните следующие действия:
- Нажмите кнопку Добавить и в диалоговом окне Выбор пользователей или групп добавьте учетные записи, с которыми подписчик будет подключаться к серверу IIS. Эти учетные записи указываются на странице Данные о веб-сервере мастера создания подписки или в параметре @internet_login процедуры sp_addmergepullsubscription_agent.
На странице Общий доступ к хранилищу моментальных снимков укажите общую папку моментальных снимков. Устанавливаются соответствующие разрешения для этой общей папки, чтобы подписчики могли получить доступ к файлам моментальных снимков. Дополнительные сведения о разрешениях для общей папки см. в разделе Защита папки моментальных снимков.
На странице Завершение работы мастера нажмите кнопку Готово.
Если во время настройки удаленного сервера IIS произойдет ошибка, например ошибка в сети, то по всем выполненным действиям выполняется откат, а оставшиеся действия отменяются. Если для выполненного действия не удается выполнить откат, на последней странице мастера отображается состояние Успешно, а выполненные действия остаются зафиксированными.
Если сервер IIS запущен на компьютере под управлением 64-разрядной версии Microsoft Windows, то библиотека replisapi.dll должна быть скопирована в соответствующий каталог:
- Нажмите кнопку Пуск, затем выберите пункт Выполнить. В поле Открыть введите iisreset и нажмите кнопку OK.
- После остановки и перезапуска служб IIS скопируйте файл replisapi.dll из расположения <диск>:\Program Files\Microsoft SQL Server\90\COM\replisapi в каталог, указанный на шаге 6б.
- Нажмите кнопку Пуск, затем щелкните Выполнить. В поле Открыть введите cmd и нажмите кнопку OK.
- В каталоге указанном на шаге 6б выполните следующую команду:
regsvr32 replisapi.dll
Ручная настройка сервера IIS
Для ручной настройки сервера IIS необходимо установить и настроить средство прослушивания репликации SQL Server, а затем настроить авторизацию для подписчиков, которые подключаются к серверу IIS.
Установка и настройка средства прослушивания репликации SQL Server
На сервере IIS создайте каталог для файла replisapi.dll. Этот каталог может быть создан в любом месте, однако, рекомендуется создавать его в расположении <диск>:\Inetpub directory. Например, создайте каталог <диск>:\Inetpub\SQLReplication\.
Важно! Настоятельно рекомендуется создавать этот каталог в разделе жесткого диска с файловой системой NTFS, а не с файловой системой FAT. При выборе файловой системы NTFS для точного управления доступом пользователей к репликации SQL Server можно использовать разрешения файловой системы NTFS. Скопируйте файл replisapi.dll из каталога <диск>:\Program Files\Microsoft SQL Server\90\com\ в каталог, созданный на шаге 1.
Зарегистрируйте файл replisapi.dll:
- Нажмите кнопку Пуск, затем выберите пункт Выполнить. В поле Открыть введите cmd и нажмите кнопку OK.
- В каталоге созданном на шаге 1 выполните следующую команду:
regsvr32 replisapi.dll
Создайте новый веб-узел для репликации или воспользуйтесь уже существующим. Во время синхронизации компоненты репликации будут обращаться к этому веб-узлу. Дополнительные сведения о том, как создать веб-узел, содержатся в документации по службам IIS.
Создайте виртуальный каталог в службах IIS. Виртуальный каталог должен быть создан на веб-узле, созданном на шаге 4, и сопоставлен с каталогом, созданным на шаге 1. Дополнительные сведения о создании виртуальных каталогов см. в документации по службам IIS. При назначении разрешений для этого каталога рекомендуется установить максимальные ограничения. Необходимо установить разрешения Чтение и Выполнить, при этом разрешения Запуск сценариев, Запись и Обзор можно отменить.
Установите в настройках служб IIS разрешение выполнять файл replisapi.dll. Для предыдущих версий служб IIS достаточно разрешений, назначенных на шаге 4, однако для служб IIS 6.0 необходимо включить модули Internet Server API (ISAPI). Дополнительные сведения см. в разделах «Настройка модулей ISAPI» и «Включение и выключение динамического содержимого» документации по службам IIS 6.0.
Настройка проверки подлинности службами IIS
При подключении подписчиков к серверу IIS службы IIS должны проверить подлинность подключаемых подписчиков перед предоставлением им доступа к ресурсам и процессам. Службы IIS выполняют три типа проверки подлинности: анонимную, обычную и встроенную. Проверка подлинности может выполняться для всего веб-узла или для созданного виртуального каталога.
Рекомендуется использовать процедуру обычной проверки подлинности в сочетании с протоколом SSL. Протокол SSL должен использоваться вне независимости от типа применяемой проверки подлинности. Дополнительные сведения о настройке проверки подлинности см. в документации по службам IIS.
Установка разрешений для средства прослушивания репликации SQL Server
При подключении подписчика к серверу IIS проверка подлинности подписчика производится с помощью типа проверки подлинности, который был задан при настройке служб IIS. После проверки подлинности подписчика службы IIS проверяют, обладает ли подписчик правами для вызова репликации SQL Server. Устанавливая разрешения для файла replisapi.dll, можно задавать список пользователей, которые смогут запускать репликацию SQL Server. Правильная настройка разрешений необходима для предотвращения несанкционированного доступа к репликации SQL Server.
Чтобы установить минимальные разрешения для учетной записи, под которой может запускаться средство прослушивания репликации SQL Server, выполните следующую процедуру. Шаги, описанные в этой процедуре, применимы к Microsoft , на котором установлены службы IIS 6.0.
Помимо выполнения следующих шагов, убедитесь в том, что все необходимые имена входа содержатся в списке доступа к публикации (PAL). Дополнительные сведения о списке доступа к публикации см. в разделе Организация безопасности издателя.
Настройка учетной записи и разрешений
На сервере IIS создайте локальную учетную запись:
- Щелкните правой кнопкой мыши Мой компьютер, затем выберите Управление.
- В окне Управление компьютером раскройте Локальные пользователи и группы.
- Щелкните правой кнопкой мыши значок Пользователи, а затем выберите Новый пользователь….
- Введите имя пользователя и надежный пароль.
- Нажмите кнопку Создать, а затем кнопку Закрыть.
Добавьте учетную запись в группу IIS_WPG:
- В окне Управление компьютером раскройте Локальные пользователи и группы, затем выберите Группы.
- Щелкните правой кнопкой мыши IIS_WPG, а затем щелкните Добавить в группу.
- В диалоговом окне Свойства: IIS_WPG щелкните Добавить....
- В диалоговом окне Выбор: Пользователи, Компьютеры или Группы добавьте учетную запись, созданную на шаге 1.
- Убедитесь, что в поле В следующем месте: указано имя локального компьютера, а не домена. Если это не имя локального компьютера, то нажмите кнопку Расположение.... В диалоговом окне Расположение... выберите локальный компьютер, а затем нажмите кнопку OK.
- В диалоговых окнах Выбор пользователей и Свойства: IIS_WPG нажмите кнопку OK.
Предоставьте учетной записи минимальные разрешения для доступа к папке, содержащей библиотеку replisapi.dll:
- Найдите место расположения каталога, созданного для файла replisapi.dll, щелкните правой кнопкой мыши этот каталог, а затем выберите Общий доступ и безопасность.
- На вкладке Безопасность нажмите Добавить.
- В диалоговом окне Выбор: Пользователи, Компьютеры или Группы добавьте учетную запись, созданную на шаге 1.
- Убедитесь, что в поле В следующем месте: указано имя локального компьютера, а не домена. Если это не имя локального компьютера, то нажмите кнопку Расположение.... В диалоговом окне Расположение... выберите локальный компьютер, а затем нажмите кнопку OK.
- Убедитесь, что для учетной записи предоставлены только разрешения: Чтение, Чтение и выполнение и Просмотр содержимого папок.
- Выберите пользователей и группы, которым не требуется доступ к этому каталогу, и нажмите Удалить.
- Нажмите кнопку ОК.
Создайте пул приложений в диспетчере служб IIS:
- Нажмите кнопку Пуск, затем выберите пункт Выполнить.
- В поле Открыть введите inetmgr и нажмите кнопку OK.
- В диспетчере служб IIS раскройте узел Локальный компьютер.
- Щелкните правой кнопкой мыши Пулы приложений, выберите пункт Создать, а затем выберите Пул приложений.
- Введите имя пула в поле Идентификатор пула приложений и нажмите кнопку OK.
Свяжите учетную запись с этим пулом приложений:
- В диспетчере служб IIS раскройте узел Локальный компьютер, затем — Пулы приложений.
- Щелкните правой кнопкой мыши созданный пул приложений, а затем выберите Свойства.
- В диалоговом окне Свойства <ИмяПулаПриложений> на вкладке Удостоверение щелкните Настраиваемый.
- В полях Имя пользователя и Пароль введите имя пользователя и пароль для учетной записи, созданной на шаге 1.
- Нажмите кнопку ОК.
Свяжите пул приложений с виртуальным каталогом, используемым для веб-синхронизации:
- В диспетчере служб IIS раскройте узел Локальный компьютер, затем — Веб-узлы.
- Раскройте веб-узел, который используется для веб-синхронизации, щелкните правой кнопкой мыши виртуальный каталог, созданный для веб-синхронизации, а затем выберите Свойства.
- На вкладке Виртуальный каталог диалогового окна Свойства <ИмяВиртуальногоКаталога> в раскрывающемся списке Пул приложений выберите пул приложений, созданный на шаге 5.
- Нажмите кнопку ОК.
Проверка подключения к replisapi.dll
Запустите веб-синхронизацию в диагностическом режиме, чтобы проверить соединение с сервером IIS и удостовериться, что SSL-сертификаты установлены правильно. Чтобы запустить веб-синхронизацию в режиме диагностики, необходимо быть администратором сервера IIS.
Проверка подключения к replisapi.dll
Убедитесь, что параметры локальной сети на подписчике установлены правильно:
- В Microsoft Internet Explorer в меню Сервис щелкните Свойства обозревателя.
- На вкладке Подключения щелкните Настройки локальной сети.
- Если в локальной сети не используется прокси-сервер, снимите флажки Автоматическое определение параметров и Использовать прокси-сервер для подключений LAN.
- Если прокси-сервер используется, установите флажки Использовать прокси-сервер для подключений LAN и Не использовать прокси-сервер для локальных адресов.
- Нажмите кнопку ОК.
У подписчика в Internet Explorer подключитесь к серверу в диагностическом режиме, добавив
?diag
к адресу replisapi.dll. Например: https://server.domain.com/directory/replisapi.dll?diag.Если сертификат, заданный для сервера IIS, не распознается операционной системой Microsoft Windows, то выводится диалоговое окно Предупреждение безопасности. Это предупреждение может возникать из-за того, что это проверочный сертификат или сертификат, выданный центром сертификации, который не распознается Windows.
Примечание. Если это диалоговое окно не выводится, обязательно добавьте этот сертификат для сервера, с которым устанавливается соединение, в качестве доверенного в хранилище сертификатов на подписчике. Дополнительные сведения об экспорте сертификатов см. в документации по службам IIS. - В диалоговом окне Предупреждение системы безопасности щелкните Просмотреть сертификат.
- В диалоговом окне Сертификат на вкладке Общие щелкните Установить сертификат.
- Выполните указания мастера импорта сертификатов, приняв значения по умолчанию.
- В диалоговом окне Предупреждение безопасности нажмите кнопку Да.
- В окне подтверждения мастера импорта сертификатов нажмите кнопку OK.
- Закройте диалоговое окно Сертификат.
- В диалоговом окне Предупреждение безопасности нажмите кнопку Да.
Примечание. Сертификаты установлены. Эту операцию необходимо выполнить для каждого пользователя, который будет выполнять синхронизацию. В диалоговом окне Соединение с <имя_сервера> укажите имя входа и пароль, которые агент слияния будет использовать для подключения к серверу IIS. Эти учетные данные указываются также в мастере создания подписки.
В окне обозревателя Internet Explorer Диагностические сведения SQL Websync проверьте, чтобы значение в каждом столбце Состояние на этой странице было равно SUCCESS.
Убедитесь в том, что сертификат правильно установлен на подписчике:
- Закройте, а затем повторно откройте окно Internet Explorer.
- Подключитесь к серверу в диагностическом режиме. Если сертификат установлен правильно, диалоговое окно Предупреждение безопасности не появится. Если это окно появилось, то агент слияния не сможет подключиться к серверу IIS. Необходимо убедиться, что этот сертификат добавлен в качестве доверенного в хранилище сертификатов у подписчика. Дополнительные сведения об экспорте сертификатов см. в документации по службам IIS.