Содержание

Публикация баз данных «1С:Предприятия» 8.3 на веб-сервере IIS в Microsoft Windows Server 2012/2016

По мотивам http://tavalik.ru/nastrojka-veb-dostupa-k-bd-1spredpriyatie-na-iis и еще некоторых собранных заметок

Для публикации требуются следующие шаги:

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

IIS устанавливаем традиционно через Диспетчер серверов (Server Manager). Должны быть установлены следующие компоненты:
Установка веб-сервера IIS

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

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

Установка веб-компонентов 1С

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

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

Настройка прав пользователей

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

Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по умолчанию C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS.

Публикация базы 1С

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

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

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

Настройка IIS

Включаем поддержку 32-х разрядных приложений: Пулы приложений (Application Pools) → DefaultAppPool → Дополнительные параметры (Advanced Settings) → Разрешены 32-разрядные приложения (Enable 32-Bit Applications) установить в True

Для каждой опубликованной базы необходимо проверить настройки Сопоставления обработчиков (Handler Mappings). 1C Web-service Extension должен указывать на текущую версию 1С, например C:\Program Files (x86)\1cv8\8.3.12.1469\bin\wsisapi.dll и если была установлена новая конфигурация - данные настройки необходимо скорректировать.

Ошибка "A potentially dangerous Request.Path value was detected from the client"

Ошибка говорит, что проблема в настройках безопасности сервера IIS. Для того, чтобы обойти общие настройки безопасности, необходимо отредактировать файл публикации «web.config», который находится в каталоге с вашей публикацией, а именно:

1. Добавить параметр в раздел system.webServer:

<security>
  <requestFiltering allowDoubleEscaping="true" />
</security>

2. Добавить параметр в раздел configuration

<system.web>
 <pages validateRequest="false" />
 <httpRuntime requestPathInvalidCharacters="" />
</system.web>

и перезапустить IIS. Функциональность будет полная. После повторной переопубликации базы из 1С изменения нужно будет вносить заново.

Настройка сертификата Let's Ecrypt

Что должно быть сделано:

Загружаем последний релиз с сайта https://github.com/Lone-Coder/letsencrypt-win-simple/releases и распаковываем куда-нибудь, например в C:\inetpub\letsencrypt

Запускаем letsencrypt.exe, вводим адрес e-mail (любой) и соглашаемся с условиями использования.

Выбираем наш опубликованный сайт, ждем некоторое время чтобы сертификат установился.

Проверяем полученный сертификат при помощи какого-нибудь сервиса, например https://www.sslshopper.com/ssl-checker.html

Готово, можно пользоваться.

Настройка редиректа с HTTP на HTTPS

Чтобы сделать редирект (перенаправление) HTTP на HTTPS нужно установить модуль Microsoft URL Rewrite Module: