Пошаговая инструкция настройки веб сервисов 1с

Содержание:

  1. Настройка веб-сервера в IIS
  2. Публикации базы в 1С
    1. Настройка прав доступа для IIS
    2. Публикация базы данных на веб-сервере
    3. Подключение к опубликованной информационной базе через веб-браузер
  3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS
    1. Создание SSL-сертификата
    2. Создание отдельного пула и сайта с подключенным ssl-сертификатом
  4. Подключение кассового оборудования. Проброс COM-портов через TCP/IP с помощью Virtual Serial Ports Emulator (VSPE)
    1. Настройка VSPE на сервере
    2. Настройка VSPE на клиенте
  5. Примечание

Бесплатный сервер 1С для подписчиков нашего telegram-канала !

1. Настройка веб-сервера в IIS

Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

  • Общие функции HTTP (Common HTTP Features)
    • Статическое содержимое (Static Content)
    • Документ по умолчанию (Default Document)
    • Обзор каталогов (Directory Browsing)
    • Ошибки HTTP (HTTP Errors)
  • Разработка приложений (Application Development)
    • ASP
    • ASP.NET 3.5
    • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
    • Расширения ISAPI (ISAPI Extensions)
    • Фильтры ISAPI (ISAPI Filters)
  • Исправление и диагностика (Health and Diagnostics)
    • Ведение журнала HTTP (HTTP Logging)
    • Монитор запросов (Request Monitor)
  • Средства управления (Management Tools)
    • Консоль управления IIS (IIS Management Console)

2. Публикации базы в 1С

На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты), обязательно выбрав при установке компоненты:

  • 1С:Предприятие
  • Модули расширения веб-сервера

выбор компонентов

Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

  • Модуль расширения веб-сервера

установка компонента

2.1 Настройка прав доступа для IIS

Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по-умолчанию: C:inetpubwwwroot), необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Полный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

Настройка прав доступа для IIS

Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по-умолчанию: C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того, чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names), необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

полные права на каталог с установленными файлами

Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

Выбор группы IIS_IUSRS

И, наконец, если публикация выполняется для файловой базы, необходимо также дать группе IIS_IUSRS полные права на каталог с расположенными файлами данной информационной базы.

дать группе IIS_IUSRS полные права

2.2 Публикация базы данных на веб-сервере

Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать. Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

Публикация базы данных на веб-сервере

Откроется окно настройки свойств публикации на веб-сервере. Основные поля, необходимые для публикации, уже заполнены по-умолчанию:

  • Имя виртуального каталога — имя, по которому будет происходить обращение к базе данных на веб-сервере. Может состоять только из символов латинского алфавита.
  • Веб-сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
  • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
  • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов, которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
  • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

Выбрав необходимые настройки публикации, нажимаем «Опубликовать».

Опубликовать базу данных

Если публикация прошла без ошибок, увидим соответствующее сообщение.

Сообщение об успешной публикации

2.3 Подключение к опубликованной информационной базе через веб-браузер

Для подключений к опубликованной базе данных запускаем Internet Explorer, в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>. В данном примере это http://http://localhost/BP.

Подключение к информационной базе через веб-браузер

К данной информационной базе также можно подключиться и с любого компьютера в сети, обратившись к веб-серверу по его внутреннему (или если прокинут порт 80 — по внешнему) IP-адресу.

3. Создание бесплатного SSL-сертификата Let’s Encrypt на IIS

Наличие SSL-сертификата для сайта позволяет защитить данные пользователей, передаваемые по сети от атак человек-посередине (man-in-the-middle) и гарантировать целостность переданных данных.

Let’s Encrypt – это некоммерческий центр сертификации, позволяющий в автоматическом режиме через API выпускать бесплатные SSL/TLS сертификаты. Выдаются только сертификаты для валидации доменов (domain validation) со сроком действия 90 дней, что не является проблемой из-за наличия встроенной возможности автоматического перевыпуска сертификата, в результате чего обеспечивается непрерывность защиты.

Далее описан способ получить SSL-сертификат от Let’s Encrypt при помощи консольной утилиты LetsEncrypt-Win-Simple. Она представляет собой простой мастер, который позволяет выбрать один из сайтов, запущенных на IIS и автоматически выпустить и привязать к нему SSL-сертификат.

3.1 Создание SSL-сертификата

Скачиваем последний релиз клиента со страницы проекта на GitHub https://github.com/PKISharp/win-acme/releases

Распакуем его в каталог на сервере с IIS: c:inetpubletsencrypt

Распаковка релиза клиента

Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.

интерактивный мастер

Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.

Далее утилита выведет список запущенных на IIS сайтов и предложит выбрать сайт, для которого нужно выпустить сертификат.

список запущенных на IIS сайтов

Следующий этап – выполнение валидации домена. Доступно несколько вариантов валидации: TLS, через запись в DNS или через HTTP). Самый простой вариант — выбрать пункт 4 [http-01] Create temporary application in IIS (recommended). В этом случае на веб-сервере будет создано небольшое приложение, через которое серверы Let’s Encrypt смогут провести валидацию.

выполнение валидации домена

Примечание. При выполнении TLS/HTTP проверки ваш сайт должен быть доступен снаружи по полному DNS имени по протоколам HTTP (80/TCP) и HTTPS (443/TCP).

После валидации утилита letsencrypt-win-simple автоматически отправит запрос на генерацию сертификата, скачает его (все необходимые файлы, а также закрытый ключ сохраняются в каталог C:UsersUserAppDataRoamingletsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым.
Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.

3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.

Создаем отдельный пул в IIS для letsencrypt

1. Создание отдельного пула

2. Создание отдельного пула

Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).

Указать новый сертификат в «Сертификаты SSL»:

новый сертификат в «Сертификаты SSL»

Настроить привязку к нашему сайту:

1. Настройка привязки к сайту

2. Настройка привязки к сайту

Проверяем.

Веб-публикация 1С доступна по защищенному соединению https.

Веб-публикация 1С доступна по защищенному соединению https

4. Подключение кассового оборудования. Проброс COM-портов через TCP/IP с помощью Virtual Serial Ports Emulator (VSPE).

4.1 Настройка VSPE на сервере

Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».

Создать новое устройство

После нужно создать виртуальные порты (для каждой кассы свой порт). Номера портов лучше взять пониже, дабы избежать проблем.

В открывшемся окне в выпадающем меню выбрать TcpServer. Нажать кнопку «Далее».

выбрать TcpServer

Установить локальный номер tcp-порта, который будет прослушиваться. Выбрать COM-порт, к которому подключено оборудование через преобразователь интерфейсов. Нажать на кнопку «Настройки».

локальный номер tcp-порта, COM-порт

Настройки

Нажать кнопку «Готово».

В появившемся окне нажать на кнопку запуска (зеленый треугольник). Серверная часть настроена.

нажать на кнопку запуска

4.2 Настройка VSPE на клиенте.

Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».

Запустить программу VSPE

В открывшемся окне в выпадающем меню выбрать «Connector».

в выпадающем меню выбрать «Connector»

Выбрать виртуальный COM-порт, который будет использоваться для проброса. Нажать на кнопку «Готово».

Выбрать виртуальный COM-порт

Нажать на кнопку «Создать новое устройство».

Создать новое устройство

В открывшемся окне в выпадающем меню выбрать TcpClient

выбрать TcpClient

Указать IP-адрес удаленного сервера и номер TCP-порта, на который будет осуществляться подключение. Выбрать виртуальный COM-порт, который будет использоваться для соединения.

IP-адрес удаленного сервера, номер TCP-порта, COM-порт

В появившемся окне нажать на кнопку запуска (зеленый треугольник). Клиентская часть готова.

После меняем настройки 1С на наши виртуальные порты. Делаем тестирование.

5. Примечание

Несколько нюансов данного ПО:

  • Данный продукт бесплатный для Windows с архитектурой х86 и платный для х64. Использовать версией для х64 можно и без ключа. Просто постоянно выскакивает предложение купить программу. Других ограничений (по времени работы или функционалу) нет.
  • Программа не сохраняет настройки автоматически и не запускается в момент старта ОС. Поэтому необходимо сохранить настроенную конфигурацию и создать ярлык с параметром:

    "C:Program FilesEterlogic.comVirtual Serial Ports EmulatorVSPEmulator.exe" -minimize -hide_splash c:/****.vspe

    где, c:/****.vspe — путь к сохраненному файлу.

    Созданный ярлык помещаем в автозагрузку или создаем bat-файл для запуска программы с использованием сохраненной конфигурации. Bat-файл должен содержать строку следующего формата:

    VSPEmulator. exe c:/vspebat. vspe - minimize - hide_splash,

    Для автоматического запуска программы VSPE после запуска ОС Windows следует поместить ссылку на этот bat-файл в автозагрузку или планировщик заданий. (для серверной и клиентской части).

  • Так же необходимо сделать проброс портов (которые указывали) на маршрутизаторе.

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

Нашим клиентам мы предлагаем реализацию данного проекта и последующее ИТ-обслуживание в рамках ИТ-аутсорсинга.

В начало статьи

Подписывайтесь на мой telegram-канал. Сразу оговорюсь, что проектов у меня много, помощников нет, всем помочь физически и морально не смогу, прошу меня простить, если кому-то не ответил или отказал в помощи.

Отправить эту статью на мою почту

Статья описывает пошаговые действия по публикации в интернете базы 1С Предприятие 8.3 (Управление торговлей 11) и собственного HTTP-сервиса на веб-сервере Microsoft IIS.

Для чего публиковать 1С в интернете?

Для доступа к функционалу 1С и вашей рабочей базе через обыкновенный веб-браузер или тонкий клиент. При этом никаких ограничений в вашей работе не будет, это все-равно что 1С установлен на вашем компьютере, только доступен через веб-браузер (даже со смартфона, правда, в случае смартфона – не очень удобно будет из-за отсутствия масштабирования).

Что касается HTTP-сервиса, то это более специфический функционал, кто понимает, что такое HTTP REST API, то уже может представить, что это такое. Если кратко, то HTTP-сервисы предназначены для программного обмена информацией между интернет-ресурсами, например, в моей статье про Скайп-боты в 1С HTTP-сервис обязательно нужен – он выполняет функции приема и обработки сообщений которые отправляются Боту в Скайпе от человека.

Данная статья представлена в виде видео-инструкции:

Публикация 1С на IIS

Устанавливаем веб-сервер Microsoft IIS (Internet Information Services)

Веб-сервер рекомендую устанавливать на серверной операционной системе, в моем случае это был Microsoft Windows Server 2012 R2.

Веб-сервер IIS можно устанавливать на рабочем сервер даже с активными RDP подключениями других пользователей, не бойтесь, их не выкинет из сервера :)

  1. Заходим в пуск, далее набираем на клавиатуре «Диспетчер серверов».
  2. Диспетчер серверов (2)

  3. Нажимаем ссылку – «Добавить роли и компоненты».
  4. Нажимаем «Далее», выбираем «Установка ролей и компонентов». Далее.
  5. В окне выбора целевого сервера – оставляем всё как есть и нажимаем Далее.
  6. В окне выборе ролей сервера поставьте флаг на против «Веб-сервер (IIS)». В появившемся окне «Добавить компоненты, необходимые для Веб-сервера (IIS)» оставьте всё как есть и нажмите кнопку «Добавить компоненты». Далее.
  7. Мастер добавления ролей и компонентов IIS (3)

  8. В окне «Выбор компонентов» на шаге «Компоненты» – оставляем всё как есть и нажимаем Далее.
  9. На шаге «Службы ролей» отмечаем флажками пункты: Безопасность – Обычная проверка подлинности и проверка подлинности Windows. В группе «Разработка приложений» — ASP.NET 4.5, расширения ISAPI, Расширяемость .NET 4.5, Фильтры ISAPI.
  10. Выбор служб ролей (4)

  11. Нажимаем Далее и Установить.

Если вы решили установить IIS на Windows 10 (7, 8), то установка IIS будет примерно такая же, только там не будет оснастки «Диспетчер серверов», вместо этого нужно зайти в Панель управления – Удаление программ, далее слева ссылка – «Включение и отключение компонентов Windows», ставим флаг напротив «Службы IIS», далее установите флаги как было описано выше.

Включение и отключение компонентов Windows 10 установка IIS (5)

Проверяем корректность установки веб-сервера IIS, для этого запускаем интернет-браузер, например, Хром и в адресной строке указываем локальный адрес текущего сервера: http://127.0.0.1, если всё сделано правильно, то откроется главная страница веб-сервера IIS.

Главная страница веб-сервера IIS 127.0.0.1 (6)

Чтобы открыть панель управления веб-сервером IIS, перейдите в Панель управления компьютером, далее кнопка Просмотр – Категория – Мелкие значки, кликаем по «Администрирование».

Панель управления меню Администрирование (7)

Открываем ярлык – «Диспетчер служб IIS».

Диспетчер служб IIS (8)

Обратите внимание на разрядность установленной платформы 1С — х64:

Платформа 1С х64 (14)

После того как вы поняли какая разрядность у вашей платформы 1С (х32 или как на скриншоте выше – х64), в диспетчере служб IIS выберите «Пулы приложений», один раз кликните левой кнопкой мыши по «DefaultAppPool» и справа нажмите ссылку «Дополнительные параметры», далее в строке «Разрешены 32-разрядные приложения» должность стоять False, а если платформа 1С у вас была бы не х64, т.е. х32, то здесь должно быть установлено значение True.

DefaultAppPool Разрешены 32-разрядные приложения (15)

Заранее имейте ввиду, если после публикации 1С на веб-сервере вы откроете 1С в веб-браузере, далее откроете список документов и получите ошибку «Обнаружено потенциально опасное значение Request.Path, полученное от клиента (:)», то в настройках «DefaultAppPool» рядом с «Разрешены 32-разрядные приложения» есть строка «Режим управляемого контейнера», он должен быть «Classic».

Режим управляемого контейнера (16)

Публикуем базу 1С на веб-сервере IIS

Кликаем по ярлыку 1С правой кнопкой мыши и выбираем пункт – «Запуск от имени администратора».

Запуск 1С от имени администратора (9)

Запускаем нужную базу 1С в режиме конфигуратора. Внимание! Конфигурация 1С должна быть на управляемых формах, иначе публикация будет бессмысленная, например, Управление торговлей редакции 11.х можно публиковать и иметь к ней доступ через веб-браузер, а Управление торговлей редакции 10.х нельзя. Но это не касается HTTP-сервисов, если вы создадите свой HTTP-сервис в Управление торговлей редакции 10.х, то он будет работать.

В конфигураторе нажмите кнопку меню Администрирование – Публикация на веб-сервере. Далее кнопку «Опубликовать». Только запомните название публикации, в моем случае (на скрине ниже) – «DemoTrd».

Публикация 1С на веб-сервере (10)

Может появиться просьба перезапустить веб-сервер IIS, соглашаемся.

Если база файловая:

Файловая база 1С (11)

То может отобразиться предупреждение при публикации на веб-сервере:

Права пользователя IUSR (12)

Дайте полные права пользователю IUSR на директорию в которой установлена база 1С (адрес директории отображается в окне с ошибкой о правах см. выше или в окне «О программе» также смотрите выше).

Полные права пользователю IUSR на директорию базы 1С (13)

Теперь можете проверить работу 1С в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd

Если всё сделали правильно, то откроется база 1С.

База 1С через веб-браузер (17)

Публикуем HTTP-сервис 1С на веб-сервере IIS

Давайте по-быстрому создадим свой HTTP-сервис который будет просто возвращать слова «Всё хорошо!» при обращении к нему через обычный веб-браузер.

Советую более наглядно это посмотреть в моей видео-инструкции:

Публикация 1С на IIS

В конфигураторе создаем новый HTTP-сервис, с шаблоном по умолчанию и одним GET методом у которого будет обработчик такого вида:

Обрабочик HTTP-сервиса на 1С (18)

Обновим нашу публикацию на веб-сервере, для этого снова нажмите в меню Администрирование – Публикация на веб-сервере, убедитесь, что на закладен HTTP-сервисы установлен флаг на против нашего HTTP-сервиса:

Публикация HTTP-сервиса 1С на веб-сервере IIS (19)

Нажимаем «Опубликовать». Должно появиться сообщение – «Публикация обновлена».

Теперь можете проверить работу опубликованного HTTP-сервиса в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd/hs/test где «test» это корневой URL HTTP-сервиса, в итоге, если всё настроено верно, то получим сообщение «Все хорошо». Единственное, браузер может попросить указать логин и пароль пользователя из базы 1С.

Логин и пароль пользователя 1С (20)

Доступ к вашей базе 1С из любой точки земли и интернета

Если IP адрес вашего сервера внешний и статический (это можно узнать у вашего системного администратора и интернет-провайдера), то открывать вашу базу 1С и HTTP-сервис через интернет можно будет с любого компьютера подключенного к интернету, для этого в интернет-браузере вводите внешний статический IP-адрес сервера вместо 127.0.0.1 в адресах указанных выше.

Благодарю Вас за внимание!

Подписывайтесь на мой YouTube-канал, там много интересного видео — https://youtube.com/c/ЮрийКозицынПрограммист1С

Обсудить статью на 1С форуме?

Читайте также

  • Как выбрать оптимальный ноутбук для 1С?
  • Лайфхаки 1С – чудеса с табличной частью документа!
  • Как перенести 1С на другой компьютер?
  • Публикация 1с на веб-сервере Apache
  • Обновление 1С — самый простой и быстрый способ!

1cv8-IIS-SSL-Basic-000.pngПри развертывании комплекса 1С:Предприятие на платформе Windows для веб-публикации информационных баз часто используют IIS (Internet Information Services). Это вполне оправданное решение, позволяющее обойтись только штатными средствами платформы Windows без установки дополнительного софта. В данной статье мы не только рассмотрим процесс публикации различных информационных баз на веб-сервере IIS, но и настроим их работу по защищенному протоколу HTTPS с сертификатами Let’s Encrypt, а также добавим дополнительную парольную защиту.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Установка сервера IIS для работы с платформой 1С:Предприятие

Данная инструкция будет актуальна для Windows Server 2012 R2, 2016, 2019 и 2022.

Прежде всего установим роль веб-сервера, для этого откроем Мастер добавления ролей и компонентов и на странице Роли сервера выберем Веб-сервер (IIS):

1cv8-IIS-SSL-Basic-001.pngЗатем на странице Службы ролей в группе Безопасность выбираем Обычная проверка подлинности:

1cv8-IIS-SSL-Basic-002.pngА в разделе Разработка приложений включаем Расширения ISAPI и Фильтры ISAPI:

1cv8-IIS-SSL-Basic-003.pngВсе остальное оставляем по умолчанию и завершаем установку роли.

Сразу скажем пару слов по поводу выбранного метода аутентификации: простая проверка подлинности, она же Basic предусматривает передачу учетных данных открытым текстом, что может насторожить внимательного читателя. Данный выбор обусловлен тем, что платформа 1С:Предприятие не поддерживает иных методов аутентификации. Но следует учесть, что данный метод будет использоваться совместно с TLS-защитой и учетные данные, хоть и открытым текстом, но будут передаваться внутри зашифрованной сессии, так что о безопасности такого решения можно не беспокоиться.

Следующим шагом установим платформу 1С, из компонентов выбираем 1С:Предприятие 8 и Модули расширения веб-сервера:

1cv8-IIS-SSL-Basic-004.pngОтдельного лицензирования данная установка 1С не требует (за некоторыми исключениями, которых коснемся позднее).

Публикация клиент-серверной базы 1С:Предприятие

Существует два пути публикации информационной базы: через конфигуратор и при помощи утилиты webinst. Начнем с Конфигуратора, откройте нужную информационную базу в этом режиме и перейдите в Администрирование — Публикация на веб-сервере. В строке Веб-сервер выберите Internet Information Services, поля Имя и Каталог будут заполнены автоматически, при необходимости можете изменить их значения.

Теперь что касается параметров публикации, если вам нужен только доступ в информационную базу, то достаточно оставить Публиковать доступ для клиентских приложений, все остальное следует отключить, что позволит упросить публикацию и сузить периметр возможной атаки. Общее правило одно: не нужно — не публикуйте.

1cv8-IIS-SSL-Basic-005.pngАльтернативой является использование утилиты webinst, она входит в состав платформы и находится в папке bin установленной версии 1С:Предприятие. Для публикации на IIS используйте следующую команду (выполнять с правами администратора):

webinst -publish -iis -wsdir hrm-1 -dir "c:inetpubhrm-1" -connstr "Srvr=SRV-1C;Ref=HRM-1;"

Разберем ключи:

  • publish — публикация базы
  • iis — использование веб-сервера IIS
  • wsdir — виртуальный каталог, аналог поля Имя в конфигураторе, по сути, представляет имя публикации
  • dir — каталог с физическим расположением публикации, должен находится в c:inetpub
  • connstr — строка подключения к базе, в нашем случае это сервер SRV-1C и база HRM-1

После публикации в конфигураторе программа предложит перезапустить веб-сервер, соглашаемся, при публикации через webinst перезапускаем сервер вручную.

Сразу предвидим вопрос: а зачем использовать webinst если есть конфигуратор? Ответ прост — интерактивный запуск базы в конфигураторе требует клиентскую лицензию, webinst — нет.

Публикация файловой базы 1С:Предприятие

Обязательное условие публикации — каталог с информационной базы должен располагаться на веб-сервере. Следующим шагом нужно дать веб-серверу необходимые разрешения на доступ к базе. Для этого в свойствах каталога информационный базы добавляем для пользователя IUSR и группы IIS_IUSRS права Чтение и выполнение и Изменение:

1cv8-IIS-SSL-Basic-006.pngПубликация через конфигуратор осуществляется также, как и для клиент-серверной версии, а команда webinst будет отличаться строкой подключения:

webinst -publish -iis -wsdir hrm-2 -dir "c:inetpubhrm-2" -connstr "File=""C:1C_BasesHRM-2"";"

Также помним, что при работе через браузер вам потребуется установить на веб-сервер нужное количество лицензий 1С из расчета одна лицензия на один сеанс. Еще одной особенностью, которую надо учитывать, является то, что даже после закрытия браузера клиентский сеанс сохраняется в течении 20 минут, на случай повторного подключения, а следовательно, занимает лицензию в течении всего этого времени.

Получение сертификата Let’s Encrypt и настройка защищенного соединения

Существует несколько способов работы с сертификатами Let’s Encrypt на платформе Windows c веб-сервером IIS, мы будем использовать Windows ACME Simple (WACS), откуда нам потребуется скачать архив win-acme.vX.X.X.XXXX.x64.trimmed.zip. Содержимое которого следует поместить в С:inetpubletsencrypt.

Но не будем спешить получать сертификат, а сначала выполним некоторые подготовительные действия. Для работы с Let’s Encrypt нам понадобится доменное имя, которое должно указывать на внешний IP-адрес вашего веб-сервера. В нашем примере мы будем использовать служебный поддомен tech.host31.ru. Также помните, что изменения в системе DNS распространяются не мгновенно, а в течении некоторого времени, которое зависит от значения TTL-записи, поэтому вносите изменения в DNS заранее.

После того, как вы настроили DNS необходимо выполнить привязку публикации к доменному имени. Для этого откройте в IIS Сайты — Default Web Site и перейдите в раздел Привязки, где следует ввести выбранное доменное имя.

1cv8-IIS-SSL-Basic-007.pngТеперь перейдем в С:inetpubletsencrypt и запустим wasc.exe от имени администратора. Последовательно проходим по пунктам текстового меню, выбрав получение нового сертификата — N, для Default Web Site — 1 и всех его привязок — А.

1cv8-IIS-SSL-Basic-008.png

Далее принимаем правила пользования и указываем действительный почтовый адрес, затем переходим к получению сертификата:

1cv8-IIS-SSL-Basic-009.png

Если ваш сервер находится внутри периметра, то для получения и продления сертификата вы должны пробросить наружу как 80 порт (HTTP), так и 443 порт (HTTPS).

Утилита сама настроит IIS, в чем можно убедиться, снова зайдя в привязки Default Web Site:

1cv8-IIS-SSL-Basic-010.png

А также добавит в планировщик задание на продление сертификата:

1cv8-IIS-SSL-Basic-011.pngВ общем, нажал на кнопку — получил результат, теперь все вопросы с сертификатом будут решаться автоматически, а в случае каких-либо проблем вам придет уведомление на почту, которую вы указали при получении сертификата.

Перенаправление HTTP на HTTPS

Несмотря на то, что мы настроили защищенный протокол для нашей публикации, она остается доступна по незащищенному HTTP, поэтому следующим шагом следует настроить перенаправление всех HTTP запросов на HTTPS версию публикации. Для этого нам потребуется установить дополнительный модуль IIS URL Rewrite 2.1. После его установки обязательно закройте и снова откройте Диспетчер служб IIS, снова перейдите к Default Web Site и выберите Переопределение URL-адресов:

1cv8-IIS-SSL-Basic-012.png

Далее создаем новое пустое правило для входящего трафика. Начинаем заполнять поля:

  • Запрошенный URL-адрес — соответствует шаблону
  • Использование — Постановочные знаки
  • Шаблон — *
  • Не учитывать регистр — флаг установлен

В разделе Условия добавляем новое условие:

  • Ввод условия — {HTTPS}
  • Проверить, если входная строка — Соответствует шаблону
  • Шаблон — OFF
  • Не учитывать регистр — флаг установлен

1cv8-IIS-SSL-Basic-013.pngИ, наконец, в разделе Действие:

  • Тип действия — Перенаправление
  • URL-адрес перенаправления — https://{HTTP_HOST}{REQUEST_URI}
  • Добавить строку запроса — флаг снят
  • Тип перенаправления — Постоянное (301)

1cv8-IIS-SSL-Basic-014.png

Перезапускаем веб-сервер и убеждаемся, что даже при обращении по HTTP все запросы перенаправляются на защищенную версию публикации.

1cv8-IIS-SSL-Basic-015.pngОбратите внимание, что для подключения используется последняя версия протокола TLS 1.3, шифр AES 256 бит и совершенная прямая секретность на основе эллиптической кривой Curve25519, которая обеспечивается автоматически средствами IIS, ничего дополнительно настраивать не нужно.

Настройка дополнительной аутентификации по паролю

У нас нет основания сомневаться во встроенном механизме аутентификации 1С:Предприятия, во всяком случае в онлайн-сервисах дополнительной аутентификации не предусмотрено, но есть слабое место — пользователи. Во многих базах могут использоваться простые пароли или не использоваться вообще, часть таких паролей могут использоваться скриптами и средствами автоматизации, поэтому взять и установить сразу всем сложные пароли будет не так-то просто.

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

Прежде всего штатными средствами Windows создадим нового пользователя, в нашем случае 1c-www, установим ему сложный пароль и сделаем срок его действия неограниченным.

1cv8-IIS-SSL-Basic-016.pngЗатем добавим этого пользователя в группу IIS_IUSRS и сделаем ее единственной:

1cv8-IIS-SSL-Basic-017.pngТеперь самое время настроить аутентификацию, но есть одна особенность: эта настройка у IIS работает как на уровне сайта, так и на уровне опубликованного приложения, причем настройки приложения перекрывают настройки сайта. Поэтому, если мы настроим аутентификацию на уровне сайта, то вопреки нашим ожиданиям на уровне приложений она работать не будет, так как там остались свои настройки по умолчанию. Да, после Apache или NGINX это неожиданно, но IIS работает именно так.

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

1cv8-IIS-SSL-Basic-018.pngПовторяем данные действия для каждой публикации.

Теперь при попытке обратиться к нашей публикации мы увидим сначала окно дополнительной аутентификации:

1cv8-IIS-SSL-Basic-019.pngВ браузере мы можем запомнить пароль и клиент будет работать с 1С без дополнительных телодвижений, но форма аутентификации 1С останется надежно прикрыта от случайных посетителей и ботов.

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

1cv8-IIS-SSL-Basic-020.png

Но запомнить пароль там не представляется возможным, что может вызывать недовольство пользователей, поэтому укажем в свойствах базы дополнительные параметры запуска:

/WSN 1c-www /WSP Pa$$w0rd_1

Где ключ /WSN определяет пользователя веб-сервера, а ключ /WSP — пароль.

1cv8-IIS-SSL-Basic-021.pngКак видим, настроить защищенный доступ к публикации 1С:Предприятие достаточно несложно, главное точно следовать нашей инструкции и стараться понимать, что именно и зачем вы делаете на каждом из шагов.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Настройка веб-серверов для работы с «1С:Предприятием»

1. Общая информация

Данная статья описывает механизм настройки веб-серверов для работы с веб-клиентом и Web-сервисами, а также настройка поддержки OpenID-аутентификации. После публикации обращение к опубликованным компонентам будет выполняться следующим образом:
● Обращение к веб-клиенту. Для запуска веб-клиента необходимо использовать адрес, который формируется по следующим правилам: <Имя хоста веб-сервера>/<Имя виртуального каталога>. Если имя виртуального каталога DemoCfg, то для запуска веб-клиента следует набрать следующий URL (для получения доступа с локальной машины): http://localhost/DemoCfg.
● Обращение в Web-сервису. Для получения доступа к Web-сервису необходимо использовать адрес, который формируется следующим образом:
<Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Имя Web-сервиса> или <Имя хоста веб-сервера>/<Имя виртуального каталога>/ws/<Адрес Web-сервиса>.
Так, если виртуальный каталог имеет имя DemoWS, имя Web-сервиса в конфигураторе указано как ДемонстрацияРаботыWS, а в качестве адреса указано DemoWorkWS, то обращение к Web-сервису можно выполнять одновременно по двум адресам (для получения доступа с локальной машины):
http://localhost/DemoWS/ws/ДемонстрацияРаботыWS или http://localhost/DemoWS/ws/DemoWorkWS.
Подробнее про Web-сервисы см. здесь.
● Обращение в HTTP-сервису. Для получения доступа к HTTP-сервису необходимо использовать адрес, который формируется следующим образом:
<Имя хоста веб-сервера>/<Имя виртуального каталога>/hs/<путь к ресурсу>.
Подробнее про HTTP-сервисы см. здесь.
● OpenID-аутентификация выполняется системой автоматически.
Веб-серверы семейства Internet Information Services (далее IIS) поставляются вместе с операционной системой, и для упрощения понимания, какой веб-сервер вы используете, приведем таблицу соответствия версии веб-сервера и операционной системы:

Версия IIS     Версия операционной системы
IIS 5.1             Windows XP Professional
IIS 6.0             Windows Server 2003 или Windows XP Professional x64 Edition
IIS 7.0              Windows Vista или Windows Server 2008
IIS 7.5              Windows 7 или Windows Server 2008 R2
IIS 8.0             Windows 8 или Windows Server 2012
IIS 8.5              Windows 8.1 или Windows Server 2012 R2
IIS 10.0             Windows 10

Дистрибутив веб-сервера Apache (как для ОС Windows, так и для ОС Linux) можно получить на веб-сайте проекта: http://httpd.apache.org/download.

2. Общие требования

На компьютере, где выполняется публикация, должен быть установлен и настроен поддерживаемый веб-сервер. Для установки веб-сервера Internet Information Services может потребоваться дистрибутив используемой операционной системы. При установке веб-сервера необходимо обязательно установить поддержку ISAPI расширений. Для установки веб-сервера требуются административные привилегии на компьютере, на который будет установлен требуемый веб-сервер. Публикация может выполняться двумя способами:
● С помощью диалога публикации на веб-сервере, если на компьютере с веб-сервером имеется возможность запустить конфигуратор необходимой разрядности.
● С помощью утилиты webinst.( Вызывать утилиту webinst следует из каталога bin 32-разрядной версии «1С:Предприятия»)

Для выполнения публикации на веб-серверах необходимы административные привилегии на компьютере, где выполняется публикация:

● Для ОС Windows Vista и старше, чтобы выполнить публикацию, следует запускать конфигуратор с помощью пункта Запуск от имени администратора контекстного меню приложения или программы запуска. Если публикация выполняется с помощью утилиты webinst, то от имени администратора должна быть запущена или сама утилита, или интерпретатор командной строки Windows.
● Для ОС Linux, чтобы выполнить публикацию, следует получить права суперпользователя (пользователь root) с помощью команды su или запускать приложение, которое выполняет публикацию, с помощью команды sudo.

При попытке выполнить публикацию система проверяет наличие необходимых привилегий для выполнения операции. Если привилегий текущего пользователя недостаточно для выполнения публикации, то:

● При публикации из конфигуратора пользователю задается вопрос о необходимости продолжить публикацию. В диалоге указывается причина возникновения (диалога) и присутствуют рекомендации по тому, как получить необходимые привилегии.
● При публикации с помощью утилиты webinst пользователю выдается диагностическое сообщение, но публикация продолжается.

Публикация возможна только в том случае, если «1С:Предприятие» расположено на компьютере с веб-сервером.
Для веб-сервера IIS 7.x и старше не поддерживается публикация в том случае, если свойство Каталог (или параметр dir утилиты webinst) указывает на каталог %SYSTEMDRIVE%Inetpubwwwroot.
ПРИМЕЧАНИЕ. Для работы с конфигурацией через веб-сервер конфигурация не должна быть пустой.

3. Виды публикации

3.1. Общая схема публикации

Общая схема публикации выглядит следующим образом:

● выполняется регистрация модуля обработки запросов (модуля расширения веб-сервера), соответствующего веб-серверу;
● на веб-сервере регистрируется виртуальное приложение;
● создается каталог виртуального приложения, и в нем размещается файл default.vrd и выполняется его настройка;
● для пользователей назначаются права на каталог с файлом базы данных (только для файлового варианта).

Для публикации веб-клиента следует использовать версию «1С:Предприятия», использующуюся для работы с информационной базой, к которой планируется получить доступ с помощью веб-клиента. Если на компьютере установлены две версии, например, 8.3.3.100 и 8.3.3.150 и запущен сервер «1С:Предприятия» версии 8.3.3.150, то для публикации следует использовать конфигуратор или утилиту webinst ровно этой же версии.
При выполнении публикации следует помнить, что разрядность регистрируемого расширения веб-сервера должна совпадать с разрядностью самого веб-сервера.

При публикации на веб-сервере IIS следует помнить, что:
● Публикация всегда выполняется для веб-сайта по умолчанию (Default Web Site);
● Публикация всегда выполняется для пула приложений по умолчанию (DefaultAppPool);
● Для пула приложений, используемого для работы «1С:Предприятия», должна быть отключена поддержка среды .NET. Для этого следует установить свойство пула приложений Версии среды .NET Framework в значение Без управляемого кода.
Для выполнения публикации из конфигуратора, необходимо воспользоваться диалогом публикации (Администрирование – Публикация на веб- сервере…).

Рис. 1. Публикация на веб-сервере

Затем следует выполнить следующие действия:
● Ввести имя виртуального каталога в поле Имя, при этом имя виртуального каталога может состоять только из символов латинского алфавита.
● В поле Веб-сервер указать тип веб-сервера, для которого выполняется публикация.
● В поле Каталог указать физическое местоположение каталога, в котором будут расположены файлы, описывающие виртуальный каталог. При использовании веб-сервера Apache имя каталога должно состоять только из символов латинского алфавита.
● В зависимости от необходимости установить флажки Публиковать тонкий и веб-клиент и Публиковать Web-сервисы.
● Для веб-сервера IIS можно указать необходимость выполнять аутентификацию на веб-сервере средствами ОС.
● При необходимости выбирать Web-сервисы, которые необходимо опубликовать. Колонка Адрес может быть изменена. В данной колонке задается синоним Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по синониму.
● При необходимости – выполнить настройки остальных параметров публикации.
● Нажатие кнопки Опубликовать запускает процесс публикации. Нажатие кнопки Отключить выполняет удаление публикации с выбранного веб-сервера.

После выполнения публикации будет предложено перезапустить веб-сервер в следующих случаях:
● изменилась версия «1С:Предприятия»;
● изменился путь к модулю расширения веб-сервера;
● выполнена новая публикация для веб-сервера Apache;
● выполнено отключение публикации.
При использовании анонимной аутентификации и файловой информационной базы, при выполнении публикации происходит проверка наличия прав доступа на каталог информационной базы у пользователя, от лица которого выполняется анонимный доступ. Если пользователь не обладает необходимыми правами, выдается предупреждение о невозможности работы с этой информационной базой через веб-сервер. Рекомендуется или дать права на каталог с информационной базой, или установить флажок Использовать аутентификацию операционной системы на веб-сервере.
Если публикация из конфигуратора недоступна (например, при использовании 64-разрядной ОС Windows), публикацию можно выполнить с помощью
утилиты командной строки webinst, которая доступна в ОС Windows и Linux в обеих разрядностях. Далее будет подробно описан диалог публикации и
ключи командной строки утилиты webinst.

3.2. Диалог публикации

Диалог публикации служит для создания публикации или подготовки файла-шаблона для публикации с помощью утилиты webinst (с использованием параметра командной строки -descriptor).
Все параметры, которые можно редактировать при создании публикации, размещены на двух закладках. Рассмотрим их подробнее.

3.2.1. Кнопки диалога

Кнопка Опубликовать выполняет публикацию на веб-сервере. При публикации происходит создание каталога на диске и настройка указанного веб-сервера для работы с «1С:Предприятием». Следует помнить, что публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию (Default Web Site) и для пула приложений по умолчанию (DefaultAppPool).
Под ОС Linux выполняются следующие действия:
● Для каталога, в котором расположен файл default.vrd, в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер;
● Для файла default.vrd устанавливается доступ по чтению для группы, включающей пользователя, от имени которого работает веб-сервер.
В случае публикации файловой информационной базы, для каталога с файлом информационной базы в качестве группы-владельца устанавливается группа пользователя, от имени которого работает веб-сервер, а также настраивается наследование группы-владельца для обеспечения работы с информационной базой .

Рис. 2. Публикация на веб-сервере

Кнопка Отключить выполняет удаление приложения из веб-сервера и каталога публикации, если это необходимо.
Кнопка Сохранить выполняет сохранение параметров, указанных в диалоге публикации на веб-сервере, в файл. При сохранении система запрашивает имя и место расположения файла, в который будет выполнено сохранение. Сохранение будет выполнено в формате файла default.vrd. С помощью этой команды можно создавать файлы шаблонов, которые будут использоваться в качестве параметра -descriptor утилиты webinst. В качестве значений атрибутов ib и base элемента point будут записаны параметры той информационной базы, из которой выполняется сохранение файла.
Кнопка Загрузить позволяет загрузить для редактирования произвольный файл default.vrd. При загрузке игнорируются атрибуты ib и base элемента point загружаемого файла.
Кнопка Закрыть выполняется закрытие диалога.
Кнопка Справка открывает окно со справочной информацией о диалоге публикации.

3.2.2. Закладка «Основные»
3.2.2.1. Общие параметры

Рис. 3. Публикация на веб-сервере. Основные

На данной закладке можно задать основные параметры публикации.
Имя. Указывает имя публикации. При публикации с помощью утилиты webinst описывается параметром -wsdir. В файле default.vrd соответствует атрибуту base элемента point.

Веб-сервер. Указывает, для какого веб-сервера выполняется публикация. Веб-сервера Apache добавляются в список в том случае, если они обнаружены на компьютере. При публикации с помощью утилиты webinst , используемый веб-сервер указывается одним из параметров iis, apache2, apache22 или apache24. При работе в ОС Linux возможна публикация только для веб-сервера Apache.
В том случае, если система не смогла однозначно определить версию установленного на компьютере веб-сервера Apache (2.2 или 2.4), в списке будут присутствовать обе версии веб-сервера. При этом следует учитывать, что для веб-сервера Apache версии 2.2 и 2.4 различаются изменения, выполняемые в конфигурационном файле веб-сервера. Поэтому неверное указание версии веб-сервера приведет к неработоспособности публикации.

Каталог. Указывает физический каталог на диске, в котором будет находиться файл default.vrd и куда будет отображен виртуальный каталог веб-сервера. Каталог должен существовать. При публикации с помощью утилиты webinst описывается параметром -dir.

Публиковать тонкий и веб-клиент. Отвечает за возможность работы с опубликованной информационной базой с помощью тонкого и веб-клиента. Если флажок установлен, возможна работа с опубликованной информационной базой с помощью тонкого и веб-клиента. В файле default.vrd соответствует атрибуту enable элемента point.

Публиковать стандартный интерфейс OData. Отвечает за возможность получения доступа к стандартному интерфейсу OData прикладного решения. Подробнее механизм стандартного интерфейса OData описан в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту enableStandardOData элемента point.

Публиковать дистрибутив. Определяет возможность получения и установки клиентского приложения в том случае, если не совпадают версии клиентского приложения и сервера. В качестве дистрибутива используется zip-архив, полное имя которого указывается в качестве значения свойства Расположение публикуемого дистрибутива. В файле default.vrd эти свойства соответствуют атрибуту pubdst элемента point. В архиве должен
располагаться дистрибутив клиентского приложения. При установке будут использоваться параметры установки, указанные в файле 1cestart.cfg (аналогично обычной установке клиентского приложения).

Использовать аутентификацию операционной системы. Разрешает системе установить возможность аутентификации ОС на веб-сервере IIS.

Адрес перехода при окончании работы веб-клиента позволяет указать URL, на который будет выполняться переход после окончания работы веб- клиента. В файле default.vrd соответствует элементу exitURL .

3.2.2.2. Закладка Web-сервисы

Рис. 4. Публикация Web-сервисов

Публиковать Web-сервисы. Установка данного флажка приведет к тому, что будут опубликованы Web-сервисы, созданные в конфигурации и перечисленные в таблице, расположенной ниже флажка. В файле default.vrd соответствует атрибуту enable элемента ws. Если флажок сброшен, то это эквивалентно отсутствию элементу ws в файле default.vrd или наличие элемента ws с атрибутом enable, установленным в значение true.

Публиковать Web-сервисы по умолчанию. Отвечает за возможность использования в данной информационной базе Web-сервисов, которые опубликованы без явного указания разрешения использования. В файле default.vrd соответствует атрибуту pointEnableCommon элемента ws.
Таблица ниже флажка Публиковать Web-сервисы содержит перечень публикуемых Web-сервисов и позволяет управлять публикацией каждого Web-сервиса. Первая колонка управляет публикацией конкретного Web-сервиса. Если флажок сброшен, то данный Web-сервис будет запрещен к использованию (его нельзя будет вызвать). В файле default.vrd соответствует атрибуту enable элемента point.
Вторая колонка (с именем Имя) содержит имя Web-сервиса, как оно задано при создании. Описание Web-сервисов приведено в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту name элемента point.
Последняя колонка таблицы (с именем Адрес) содержит псевдоним имени публикуемого Web-сервиса. Обращение к Web-сервису возможно как по имени, так и по псевдониму. Псевдоним Web-сервиса можно редактировать в окне публикации. В файле default.vrd соответствует атрибуту alias элемента point.
Web-сервисы, которые расположены в подключенных расширениях, не отображаются в данной таблицы и могут быть опубликованы только редактированием файла default.vrd вручную.
Публиковать Web-сервисы расширений по умолчанию. Отвечает за возможность использования Web-сервисов, которые поставляются в расширениях конфигурации. В файле default.vrd соответствует атрибуту publishExtensionsByDefault элемента ws .

3.2.2.3. Закладка HTTP-сервисы

Закладка HTTP сервисы предназначена для управления возможностью доступа к прикладному решению с помощью HTTP-сервисов.

Рис. 5. Публикация HTTP-сервисов

Публиковать HTTP сервисы по умолчанию. Установка данного флажка приведет к тому, что будут опубликованы HTTP-сервисы, созданные в конфигурации и перечисленные в таблице, расположенной ниже флажка. В файле default.vrd соответствует атрибуту publishByDefault элемента httpServices. Если флажок сброшен, то это эквивалентно отсутствию элементу httpServices в файле default.vrd или наличие элемента httpServices с
атрибутом publishByDefault, установленным в значение false.

Таблица ниже флажка Публиковать HTTP сервисы по умолчанию содержит перечень публикуемых HTTP-сервисов и позволяет управлять публикацией каждого HTTP-сервиса. Первая колонка управляет публикацией конкретного HTTP-сервиса. Если флажок сброшен, то данный HTTP-сервис будет запрещен к использованию (его нельзя будет вызвать). В файле default.vrd соответствует атрибуту enable элемента service.
Вторая колонка (с именем Имя) содержит имя HTTP-сервиса, как оно задано при создании. Описание HTTP-сервисов приведено в книге 1С:Предприятие 8.3. “Руководство разработчика”. В файле default.vrd соответствует атрибуту name элемента service.
HTTP-сервисы, которые расположены в подключенных расширениях, не отображаются в данной таблицы и могут быть опубликованы только редактированием файла default.vrd вручную.

Публиковать HTTP-сервисы расширений по умолчанию. Отвечает за возможность использования HTTP-сервисов, которые поставляются в расширениях конфигурации. В файле default.vrd соответствует атрибуту publishExtensionsByDefault элемента httpServices

3.2.3. Закладка «Прочие»

Рис. 6. Прочие параметры публикации на веб-сервере

На данной закладке можно изменить вспомогательные параметры публикации.

Каталог временных файлов. Позволяет указать каталог временных файлов для работы расширения веб-сервера или файлового варианта информационной базы. В файле default.vrd соответствует атрибуту temp элемента point.

Группа Пул соединений. Описывает элемент pool файла default.vrd. Подробнее см. здесь. Также параметры этой группы управляют работой системы отслеживания разрыва соединений.

Группа Отладка. Описывает элемент debug файла default.vrd.

Группа OpenID. Описывает элемент openid файла default.vrd.

Разделение данных. Описывает элемент zones файла default.vrd. Подробнее остановимся на структуре таблицы с разделителями.

В таблицу попадают все независимые разделители, существующие в конфигурации или загруженном файле. Первая колонка (без имени) определяет необходимость создания элемента zone для выбранного разделителя. Следует помнить, что сопоставление элемента выполняется не по имени разделителя, а по его порядковому расположению в списке. Если отключается первый разделитель, то имеет смысл отключить и все остальные, т. к. параметры элемента zones будут применены системой к другим разделителям.
Колонка Имя содержит имя разделителя, как оно задано в свойствах общего реквизита. Флажок в следующей колонке определяет, будет задано значение разделителя в элементе zone или нет. Если флажок установлен, то в качестве значения атрибута value будет использовано значение из колонки Значение.
Флажки в колонках Указание и Безопасное отвечают за атрибуты safe и specify (соответственно) элемента zone файла default.vrd.
Параметр Фоновые задания в файловом варианте описывает возможность использования фоновых заданий в файловом варианте информационной базы (атрибут allowexecutescheduledjobs корневого элемента point).

Logo_1c_8В данной статье я подробно опишу процесс организации веб- доступа к базам данных «1С:Предприятие» 8.3 на веб-сервере IIS (Internet Information Server), входящего в поставку Microsoft Windows Server. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен. Будет рассмотрен алгоритм настройки IIS для работы «1С:Предприятие», а также описан процесс публикации баз данных на веб-сервере как для 32-разрядного, так и для 64-разрядного модуля расширения веб-сервера.

0. Оглавление

  1. Что понадобится
  2. Установка веб-сервера IIS
  3. Установка компонент «1С:Предприятие»
  4. Настройка операционной системы
  5. Публикация базы данных на веб-сервере
  6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера
  7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера
  8. Подключение к опубликованной информационной базе через веб-браузер
  9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»
  10. Конфигурационные файлы виртуального каталога
    1. Файл default.vrd
    2. Файл web.config

1. Что понадобится

  1. Компьютер отвечающий минимальным системным требованиям для работы веб-сервера под управлением одной из операционных систем:
    • Microsoft Windows Server 2012 (R2)
    • Microsoft Windows Server 2008 (R2)
  2. Права локального администратора на данном компьютере.
  3. Дистрибутив для установки компонент «1С:Предприятие». Для настройки 64-разрядного модуля расширения веб-сервера, дистрибутив для установки 64-разрядного сервера «1С:Предприятие». В данном примере используется версия 8.3.4.389. Для более старых версий «1С:Предприятие» (8.1 и 8.2) алгоритм публикации баз данных в целом аналогичен.

2. Установка веб-сервера IIS

Устанавливаем веб-сервер Internet Information Server, который по умолчанию входит в поставку Microsoft Windows Server. При установке обязательно выбираем компоненты:

  • Общие функции HTTP (Common HTTP Features)
    • Статическое содержимое (Static Content)
    • Документ по умолчанию (Default Document)
    • Обзор каталогов (Directory Browsing)
    • Ошибки HTTP (HTTP Errors)
  • Разработка приложений (Application Development)
    • ASP
    • ASP.NET 3.5
    • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
    • Расширения ISAPI (ISAPI Extensions)
    • Фильтры ISAPI (ISAPI Filters)
  • Исправление и диагностика (Health and Diagnostics)
    • Ведение журнала HTTP (HTTP Logging)
    • Монитор запросов (Request Monitor)
  • Средства управления (Management Tools)
    • Консоль управления IIS (IIS Management Console)

Подробно про процесс развертывания веб-сервера IIS я писал:

  • В Microsoft Windows Server 2012 (R2) — здесь. IIS версии 8, после установки должны увидеть страницу Default Web Site вида:

Ustanovka_IIS_8_Winsdows_Server_2012_13

  • В Microsoft Windows Server 2008 (R2) — здесь. IIS версии 7, после установки должны увидеть страницу Default Web Site вида:

605

3. Установка компонент «1С:Предприятие»

На этот же сервер, где развернут веб-сервер IIS, устанавливаем «1С:Предприятие» (32-разрядные компоненты) обязательно выбрав при установке компоненты:

  • 1С:Предприятие
  • Модули расширения веб-сервера

publikaciya_bd_na_web_server_IIS_23

Если планируется настроить 64-разрядный модуль расширения веб-сервера, то необходимо дополнительно запустить программу установки 64-разрядного сервера из соответствующей поставки «1С:Предприятие» и установить компоненту:

  • Модуль расширения веб-сервера

publikaciya_bd_na_web_server_IIS_31

4. Настройка операционной системы

Теперь необходимо установить необходимые права на ключевые папки, используемые при работе веб-доступа к базам данных «1С:Предприятие». Для каталога хранения файлов веб-сайтов, опубликованных на веб-сервере (по умолчанию C:inetpubwwwroot ) необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

publikaciya_bd_na_web_server_IIS_01

В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Польный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».

publikaciya_bd_na_web_server_IIS_02

Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:Program Files (x86)1cv8 для 32-разрядного модуля расширения и C:Program Files1cv8 для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names) необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).

publikaciya_bd_na_web_server_IIS_03

Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу IIS_IUSRS в таблице результатов поиска и нажимаем «ОК».

publikaciya_bd_na_web_server_IIS_04

Группа IIS_IUSRS появится в списке групп или пользователей. Даем ей полные права на на выбранную директорию и нажимаем  «Применить» (Apply) для сохранения изменений.

publikaciya_bd_na_web_server_IIS_05

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

publikaciya_bd_na_web_server_IIS_06

5. Публикация базы данных на веб-сервере

Переходим к непосредственной публикации базы данных на веб-сервере. Для этого запускаем «1С:Предприятие» в режиме Конфигуратор для той базы, которую требуется опубликовать.  Затем в меню выбираем «Администрирование» — «Публикация на веб-сервере…»

publikaciya_bd_na_web_server_IIS_07

Откроется окно настройки свойств публикации на веб-сервере. Основные поля необходимые для публикации уже заполнены по умолчанию:

  • Имя виртуального каталога — имя по которому будет происходить обращение к база данных на веб-сервере. Может состоять только из символов латинского алфавита.
  • Веб сервер — выбирается из списка найденных на текущем компьютере веб-серверов. В нашем случае это Internet Information Services.
  • Каталог — физическое расположение каталога, в котором будут располагаться файлы виртуального приложения.
  • Соответствующими флагами можно указать типы клиентов для публикации, а также указать возможность публикации Web-сервисов. В расположенной ниже таблице можно отредактировать список Web-сервисов которые будут опубликованы, а также в столбце «Адрес» изменить синоним, по которому будет происходить обращение к данному Web-сервису.
  • Также для веб-сервера IIS есть возможность указать необходимость выполнения аутентификации на веб-сервере средствами ОС, установив соответствующий флаг.

Выбрав необходимые настройки публикации нажимаем «Опубликовать».

publikaciya_bd_na_web_server_IIS_08

Если публикация прошла без ошибок, увидим соответствующее сообщение.

Публикация на веб-сервере IIS всегда выполняется для веб-сайта по умолчанию и для пула приложения по умолчанию. Стоит иметь ввиду, что при выполнении публикации из конфигуратора будет зарегистрирован 32-разрядный модуль расширения веб-сервера, а используемый по умолчанию пул приложений — DefaultAppPool — без настройки работает только с 64-разрядными приложениями. Соответственно, дальнейшие действия зависят от разрядности модуля расширения веб-сервера, который планируется использовать. Для 32-разрядного модуля расширения веб-сервера, необходимо разрешить пулу приложений использовать 32-разрядные приложения, либо же зарегистрировать 64-разрядный модуль расширения веб-сервера. Об этом пойдет речь ниже

6. Настройка IIS для использования 32-разрядного модуля расширения веб-сервера

Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

publikaciya_bd_na_web_server_IIS_10

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которое мы задавали при публикации базы данных. Для завершения публикации осталось только разрешить 32-разрядные приложения для пула приложений по умолчанию. Для этого перейдем в дереве подключений на вкладку «Пулы приложений» (Application Pools).

publikaciya_bd_na_web_server_IIS_11

В списке пулов приложений найдем пул с именем DefaultAppPool. Кликнем по нему правой кнопкой мыши и в контекстном меню выберем пункт «Дополнительные параметры» (Advanced Settings).

publikaciya_bd_na_web_server_IIS_12

В открывшемся окне параметров пула приложения, в группе «Общие» (General) найдем пункт «Разрешены 32-разрядные приложения» (Enable 32-Bit Applications) и установим значение параметра равным True. Затем сохраним изменения нажав «ОК».

publikaciya_bd_na_web_server_IIS_13

7. Настройка IIS для использования 64-разрядного модуля расширения веб-сервера

Зарегистрировать 64-разрядный модуль расширения веб-сервера можно с помощью утилиты webinst.exe соответствующей версии, расположенной в каталоге bin, каталога с установленной программой «1С:Предприятие», либо воспользоваться приведенным ниже способом.

Запустим Диспетчер служб IIS (Internet Information Services (IIS) Manager). Сделать это можно из Диспетчера серверов (Server Manager) выбрав в меню пункт «Средства» (Tools) — «Диспетчер служб IIS» (Internet Information Services (IIS) Manager).

publikaciya_bd_na_web_server_IIS_10

Здесь, развернув дерево в окне подключений, увидим, что для веб-сайта по умолчанию — Default Web Site — появился преобразованный в приложение виртуальный каталог с именем, которым мы задавали при публикации базы данных. Для завершения публикации осталось только указать данному приложению использовать 64-разрядный обработчик запросов. Для этого откроем страницу настройки сопоставления обработчиков для данного виртуально каталога, выбрав пункт «Сопоставление обработчиков» (Handler Mappings) на начальной странице приложения.

publikaciya_bd_na_web_server_IIS_19

В таблице сопоставлений обработчиков найдем обработчик «1С Web-service Extension». Откроем данный обработчик, кликнув 2 раза по соответствующей строке в таблице.

publikaciya_bd_na_web_server_IIS_32

Отредактируем обработчик, заменив путь к исполняемой dll 32-разрядного модуля расширения веб-сервера, который выбран в данный момент, на путь к 64-разрядной версии библиотеки. В данном примере меняем путь c «C:Program Files (x86)1cv88.3.4.389binwsisapi.dll» на «C:Program Files1cv88.3.4.389binwsisapi.dll» воспользовавшись кнопкой выбора. Изменив путь нажимаем «ОК» для сохранения изменений.

publikaciya_bd_na_web_server_IIS_33

8. Подключение к опубликованной информационной базе через веб-браузер

Ну вот вроде и все. Для подключений к только что опубликованной базе данных, запускаем Internet Explorer, и в строке адреса вводим путь вида http://localhost/<Имя публикации информационной базы>. В данном примере это http://localhost/DemoAccounting/.

publikaciya_bd_na_web_server_IIS_14

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

В этом случае, для корректной работы «1С:Предприятие», имя домена, на который идет обращение (или IP-адрес) должен быть добавлен в надежные узлы Internet Explorer, а также для него должны быть разрешены всплывающие окна. Подробнее про настройку Internet Explorer для работы веб-клиента «1С:Предприятие» читайте здесь.

dobavlenie-veb-sajta-v-spisok-nadezhnyx-uzlov-ie_09

9. Подключение к опубликованной информационной базе через клиент «1С:Предприятия»

К опубликованной на веб-сервере информационной базе можно подключиться и с помощью тонкого клиента «1С:Предприятия». Для подключения откроем окно запуска «1С:Предприятие» и нажмем кнопку «Добавить» для добавления информационной базы.

publikaciya_bd_na_web_server_IIS_24

В окне добавления информационной базы/группы установим переключатель в «Добавление в список существующей информационной базы» и нажмем «Далее».

publikaciya_bd_na_web_server_IIS_25

Введем имя базы данных, как она будет отображаться в списке информационных баз (должно быть уникальным для данного списка), тип расположения выберем «На веб-сервере» и нажмем «Далее».

publikaciya_bd_na_web_server_IIS_26

Вводим строку адреса для подключения к информационной базе (без префикса /ru_RU/). Также здесь можно указать параметры прокси-сервера (если есть) и способ аутентификации на веб-сервере. Указав необходимые настройки снова жмем «Далее».

publikaciya_bd_na_web_server_IIS_27

Указываем параметры запуска для информационной базы и нажимаем «Готово» для завершения работы мастера.

publikaciya_bd_na_web_server_IIS_28

После чего данная информационная база появится в списке баз окна запуска «1С:Предприятие».  Обратим внимание что режим запуска Конфигуратор недоступен для данного типа подключения. Нажимаем «1С:Предприятие» для подключения к информационной базе.

publikaciya_bd_na_web_server_IIS_30

publikaciya_bd_na_web_server_IIS_29

10. Конфигурационные файлы виртуального каталога

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

Перейдем в каталог, который мы указывали во время публикации базы данных. В нем увидим два файла:

  • default.vrd
  • web.config

publikaciya_bd_na_web_server_IIS_15

Оба файла доступны для просмотра и редактирования с помощью любого текстового редактора, например программы «Блокнот» (Notepad). Рассмотрим структуру этих файлов подробнее.

10.1. Файл default.vrd

В файле default.vrd описываются опубликованные Web-сервисы (элемент <ws>), а также указывается имя виртуального приложения (атрибут base) и строка подключения к информационной базе «1С:Предприятие» (атрибут ib). В данном примере для файловой информационной базы, строка подключения будет следующей:

ib="File=&quot;C:1C_BASEDemoAccounting&quot;;"

Как видно из примера, если в строке подключения встречаются символы, недопустимые с точки зрения стандарта XML (http://www.w3.org/TR/xml11/), они должны быть заменены соответствующим образом.

publikaciya_bd_na_web_server_IIS_16

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

ib="File=&quot;C:1C_BASEDemoAccounting&quot;;Usr=Продавец;Pwd=123;"

Для серверной информационной базы строка подключения будет иметь вид:

ib="Srvr=&quot;WIN2012&quote;;Ref=&quote;Accounting&quote;;"

Где WIN2012 — имя кластера серверов «1С:Предприятие», а Accounting — имя базы данных в кластере.

publikaciya_bd_na_web_server_IIS_17

Подробнее про структуру данного файла можно почитать в книге «Руководство администратора» 2-е издание , Приложение 2, глава 3.12.

10.2. Файл web.config

Файл web.config — это файл, определяющий параметры для ASP.NET web-приложения. В каждом web-приложении должен быть файл web.config, находящийся в его корневом каталоге. Наш виртуальный каталог не является исключением. В текущем файле содержатся данные об обработчике «1С Web-service Extension», обрабатывающем запросы к данному приложению. Обработчик настроен таким образом, что все запросы передаются библиотеке wsisapi.dll, расположенной в каталоге bin, каталога с файлами «1С:Предприятие». В случае использования серверных информационных баз, версия библиотеки должна соответствовать версии кластера серверов «1С:Предприятия».

publikaciya_bd_na_web_server_IIS_18

Данный обработчик можно найти (или добавить, если его нет) в Диспетчере служб IIS. Для этого необходимо выделить вкладку с текущим приложением и в окне свойств выбрать пункт «Сопоставления обработчиков» (Handler Mappings).

publikaciya_bd_na_web_server_IIS_19

В таблице сопоставлений обработчиков увидим наш обработчик «1С Web-service Extension». Если такого обработчика в списке нет, его следует добавить выбрав в окне «Действия» (Actions) пункт «Добавление сопоставления сценария с подстановочными знаками» (Add Wildcard Script Map…).

publikaciya_bd_na_web_server_IIS_20

При добавлении вводим имя обработчика и указываем путь к файлу wsisapi.dll. Данные параметры можно изменить и для действующего обработчика выбрав пункт «Изменить…» (Edit…) в окне списка действий.

publikaciya_bd_na_web_server_IIS_21

Необходимо также убедиться, что для обработчика стоит флаг «Выполнение» (Execute) в окне изменений разрешений функции. Вызвать данное окно можно выбрав пункт «Изменение разрешений функции…» (Edit Feature Permissions…) в окне «Действия» (Actions).

publikaciya_bd_na_web_server_IIS_22

Понравилась статья? Поделить с друзьями:

Новое и полезное:

  • Пошаговая инструкция наращивания ресниц для начинающих
  • Пошаговая инструкция написания сочинения егэ по русскому языку
  • Пошаговая инструкция нанесения макияжа на лицо с фото
  • Пошаговая инструкция нанесения декоративной штукатурки на стены
  • Пошаговая инструкция нанесения гель лака на ногти

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии