Публикация базы 1С и HTTP-сервиса в интернете на IIS

07.08.2020 11:32:15

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

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

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

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

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

Устанавливаем веб-сервер 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-сервис который будет просто возвращать слова «Всё хорошо!» при обращении к нему через обычный веб-браузер.

В конфигураторе создаем новый 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 в адресах указанных выше.

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

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

Все статьи блога
КОММЕНТАРИИ
Отправлять новые сообщения на мою почту
Ваш комментарий