Перейти к содержанию

Настройка веб-сервиса для IIS

1. Установка IIS выполняется стандартными средствами. Необходимо установить следующие компоненты:

Web Management Tools:

  • IIS 6 Scripting Tools

  • IIS 6 WMI Compatibility

  • IIS Metabase and IIS configuration compatibility

  • IIS Management Console

  • IIS Management Scripts and Tools

World Wide Web Services:

  • ISAPI Extensions

  • ISAPI Filters

  • Default Document

  • Directory Browsing

  • HTTP Errors

  • Static Content

  • HTTP Logging

  • Request Monitor

  • Static Content Compression

  • Request Filtering

2. Если при установке платформы "1С:Предприятие" не были установлены компоненты работы с веб-сервером, их надо установить (через установку платформы):

Далее от имени администратора зайдите в "Конфигуратор" — "administration" — "Публикация на веб-сервере...". Укажите имя базы в поле "Имя". (используйте только буквы латинского алфавита). Выберите пустой каталог (путь к нему также не должен содержать кириллических символов, см. пример ниже). Включите параметр Публиковать Web-сервисы, в списке веб-сервисов включите сервис rg1CTCService. Нажмите Опубликовать.

Для публикации веб-сервисов расширения включите параметр Публиковать Web-сервисы расширений по умолчанию. Нажмите Опубликовать.

В диалоге о перезапуске веб-сервера нажмите Да.

ℹ️ Для корректной установки у пользователя должны быть права администратора на компьютере, с которого производится установка.

3. Укажите права для обработчика веб-сервисов "1С:Предприятие". Права на запуск программных продуктов (Execute) добавляются для группы IIS_IUSRS на папку ...1cv81\BIN\ (для актуальных версий 8.3.x путь: C:\Program Files\1cv8\<версия>\bin\)

4. Если база "1С:Предприятие" файловая, добавьте права на изменение (Modify) на папку и подпапки базы для той же группы.

5. В консоли IIS щелкните правой кнопкой мыши на строку с созданной папкой. Преобразуйте её в приложение.

6. Добавьте MIME типы для приложения "1С:Предприятие". Сделать это можно для сервера, для сайта или для папки (наследование присутствует).

  1. Добавьте настройки для обработки файлов "1С:Предприятие". На вкладке Handler Mappings добавьте скрипты (не скрипты со звездочкой) для каждого расширения -"*.1cws" и "*.1crs". Для этого последовательно выберите каждую строку, в которой указано одно из нужных расширений, затем справа в разделе "Actions" нажмите "Add Script Map…".

В открывшемся окне нажмите кнопку Request Restrictions. Во втором открывшемся окне:

Перейдите на вкладку "Access" и выберите тип доступа "Execute". Имя правила можно задать любое.

Там же перейдите на вкладку "Mapping" и отключите параметр "Invoke handler only if request is mapped to"

Альтернативой является добавление обработчика из командной строки:

⚠️ Скрипт adsutil.vbs применим только к IIS 6 (Windows Server 2003). На IIS 7 и новее используйте команды AppCmd или модуль WebAdministration в PowerShell.

C:\>cscript C:\inetpub\AdminScripts\adsutil.vbs SET /W3SVC/1/ROOT/MyApp/ScriptMaps ".1cws,с:\Program Files\1cv81\Bin\wsisapi.dll,5" ".1crs,

с:\Program Files\1cv81\Bin\wsisapi.dll,5"

На экране отобразится текст:

Microsoft (R) Windows Script Host Version 5.8

Copyright (C) Microsoft Corporation. All rights reserved.

ScriptMaps: (LIST) ".1cws,с:\Program Files\1cv81\Bin\wsisapi.dll,5" ".1crs,с:\Program Files\1cv81\Bin\wsisapi.dll,5"

C:\>

ℹ️ Важно указать правильный путь: /W3SVC/1/ROOT/MyApp/ScriptMaps

8. Для обработчиков укажите дополнительные параметры — выберите действие "Edit Feature Permissions" и в открывшемся окне активируйте опции запуска скриптов и приложений.

ℹ️ Скриншот отсутствует. Описание действия: в окне "Edit Feature Permissions" установите флаги "Scripts" и "Execute" для разрешения выполнения скриптов и приложений.

9. Проверьте наличие обработчика веб-сервисов "1С:Предприятие" на вкладке ISAPI and CGI Restrictions для сервера.

Проверка наличия обработчика web-сервисов "1С:Предприятие"

Если устанавливается 32-разрядный модуль, то для обработчика включите режим Application Pool -> DefaultAppPool -> Enable 32-bit Application -> True.

Если устанавливается 64-разрядный модуль, то режим Application Pool -> DefaultAppPool -> Enable 32-bit Application -> False.
Необходимо заменить 32-разрядный обработчик, который установлен по умолчанию, на 64-разрядный. Для этого откройте Диспетчер сервера -> Роли -> Веб-сервер(IIS) -> Диспетчер служб(IIS) и выберите приложение, преобразованное из виртуального каталога с именем, заданным при публикации базы. В центральном окне выберите раздел Handler Mappings ("Сопоставление обработчиков) и перейдите в него. Откройте первую строчку 1C Web-service Extension и с помощью кнопок "Изменить" и "Обзор" укажите расположение модуля 64-разрядной версии wsisapi.dll.

Настройки для 64-разрядного модуля

10. Перейдите по ссылке:

IP-компьютера/ИмяБазы/ws/путь_указанный_при_публикации.1cws?wsdl.

Например, адрес будет выглядеть следующим образом: http://ip/BP/ws/1CTCService.1cws?wsdl

ℹ️ Скриншот отсутствует. Описание действия: адрес формируется из IP-адреса сервера, имени базы (заданного при публикации) и пути к веб-сервису из настроек публикации.

Должно появиться окно с просьбой ввести логин и пароль. Введите логин и пароль к конфигурации "1С:Предприятие", если они подойдут – то веб-сервис 1С доступен (логин должен быть написан латинскими буквами).

11. Анонимная аутентификация на IIS и доступ к базе

В случае неудачной настройки доступа нужно создать пользователя вручную:

  • Создать пользователя на компьютере (сервере) с IIS и указать ему пароль. Ни в какие группы не добавлять.

  • В консоли IIS. Имя_сервера -> Authentication -> AnonymousAuthentication -> Edit -> Set -> User name -> Password -> Confirm password.

Если используется аутентификация "1С:Предприятие": создайте пользователя с именем, которое создано на компьютере и введено в IIS. Задайте пароль и поставьте флаг "Аутентификация 1С:Предприятия".

Если используется Windows аутентификация: создайте пользователя с неким именем (лучше не использовать имя, которое создано на компьютере и введено в IIS). Установите флаг "Аутентификация Windows".

Выберите или введите пользователя в формате \\имя_компьютера\имя_пользователя. Флаг "Аутентификация 1С:Предприятия" в этом случае лучше снять.

ℹ️ Не забудьте указать путь к веб-сервисам (протокол SOAP) в "Первой Форме".