При развертывании комплекса 1С:Предприятие на платформе Windows для веб-публикации информационных баз часто используют IIS (Internet Information Services). Это вполне оправданное решение, позволяющее обойтись только штатными средствами платформы Windows без установки дополнительного софта. В данной статье мы не только рассмотрим процесс публикации различных информационных баз на веб-сервере IIS, но и настроим их работу по защищенному протоколу HTTPS с сертификатами Let’s Encrypt, а также добавим дополнительную парольную защиту.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Установка сервера IIS для работы с платформой 1С:Предприятие
Данная инструкция будет актуальна для Windows Server 2012 R2, 2016, 2019 и 2022.
Прежде всего установим роль веб-сервера, для этого откроем Мастер добавления ролей и компонентов и на странице Роли сервера выберем Веб-сервер (IIS):
Затем на странице Службы ролей в группе Безопасность выбираем Обычная проверка подлинности:
А в разделе Разработка приложений включаем Расширения ISAPI и Фильтры ISAPI:
Все остальное оставляем по умолчанию и завершаем установку роли.
Сразу скажем пару слов по поводу выбранного метода аутентификации: простая проверка подлинности, она же Basic предусматривает передачу учетных данных открытым текстом, что может насторожить внимательного читателя. Данный выбор обусловлен тем, что платформа 1С:Предприятие не поддерживает иных методов аутентификации. Но следует учесть, что данный метод будет использоваться совместно с TLS-защитой и учетные данные, хоть и открытым текстом, но будут передаваться внутри зашифрованной сессии, так что о безопасности такого решения можно не беспокоиться.
Следующим шагом установим платформу 1С, из компонентов выбираем 1С:Предприятие 8 и Модули расширения веб-сервера:
Отдельного лицензирования данная установка 1С не требует (за некоторыми исключениями, которых коснемся позднее).
Публикация клиент-серверной базы 1С:Предприятие
Существует два пути публикации информационной базы: через конфигуратор и при помощи утилиты webinst. Начнем с Конфигуратора, откройте нужную информационную базу в этом режиме и перейдите в Администрирование — Публикация на веб-сервере. В строке Веб-сервер выберите Internet Information Services, поля Имя и Каталог будут заполнены автоматически, при необходимости можете изменить их значения.
Теперь что касается параметров публикации, если вам нужен только доступ в информационную базу, то достаточно оставить Публиковать доступ для клиентских приложений, все остальное следует отключить, что позволит упросить публикацию и сузить периметр возможной атаки. Общее правило одно: не нужно — не публикуйте.
Альтернативой является использование утилиты webinst, она входит в состав платформы и находится в папке bin установленной версии 1С:Предприятие. Для публикации на IIS используйте следующую команду (выполнять с правами администратора):
webinst -publish -iis -wsdir hrm-1 -dir "c:\inetpub\hrm-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 права Чтение и выполнение и Изменение:
Публикация через конфигуратор осуществляется также, как и для клиент-серверной версии, а команда webinst будет отличаться строкой подключения:
webinst -publish -iis -wsdir hrm-2 -dir "c:\inetpub\hrm-2" -connstr "File=""C:\1C_Bases\HRM-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. Содержимое которого следует поместить в С:\inetpub\letsencrypt.
Но не будем спешить получать сертификат, а сначала выполним некоторые подготовительные действия. Для работы с Let’s Encrypt нам понадобится доменное имя, которое должно указывать на внешний IP-адрес вашего веб-сервера. В нашем примере мы будем использовать служебный поддомен tech.host31.ru. Также помните, что изменения в системе DNS распространяются не мгновенно, а в течении некоторого времени, которое зависит от значения TTL-записи, поэтому вносите изменения в DNS заранее.
После того, как вы настроили DNS необходимо выполнить привязку публикации к доменному имени. Для этого откройте в IIS Сайты — Default Web Site и перейдите в раздел Привязки, где следует ввести выбранное доменное имя.
Теперь перейдем в С:\inetpub\letsencrypt и запустим wasc.exe от имени администратора. Последовательно проходим по пунктам текстового меню, выбрав получение нового сертификата — N, для Default Web Site — 1 и всех его привязок — А.
Далее принимаем правила пользования и указываем действительный почтовый адрес, затем переходим к получению сертификата:
Если ваш сервер находится внутри периметра, то для получения и продления сертификата вы должны пробросить наружу как 80 порт (HTTP), так и 443 порт (HTTPS).
Утилита сама настроит IIS, в чем можно убедиться, снова зайдя в привязки Default Web Site:
А также добавит в планировщик задание на продление сертификата:
В общем, нажал на кнопку — получил результат, теперь все вопросы с сертификатом будут решаться автоматически, а в случае каких-либо проблем вам придет уведомление на почту, которую вы указали при получении сертификата.
Перенаправление HTTP на HTTPS
Несмотря на то, что мы настроили защищенный протокол для нашей публикации, она остается доступна по незащищенному HTTP, поэтому следующим шагом следует настроить перенаправление всех HTTP запросов на HTTPS версию публикации. Для этого нам потребуется установить дополнительный модуль IIS URL Rewrite 2.1. После его установки обязательно закройте и снова откройте Диспетчер служб IIS, снова перейдите к Default Web Site и выберите Переопределение URL-адресов:
Далее создаем новое пустое правило для входящего трафика. Начинаем заполнять поля:
- Запрошенный URL-адрес — соответствует шаблону
- Использование — Постановочные знаки
- Шаблон — *
- Не учитывать регистр — флаг установлен
В разделе Условия добавляем новое условие:
- Ввод условия — {HTTPS}
- Проверить, если входная строка — Соответствует шаблону
- Шаблон — OFF
- Не учитывать регистр — флаг установлен
И, наконец, в разделе Действие:
- Тип действия — Перенаправление
- URL-адрес перенаправления — https://{HTTP_HOST}{REQUEST_URI}
- Добавить строку запроса — флаг снят
- Тип перенаправления — Постоянное (301)
Перезапускаем веб-сервер и убеждаемся, что даже при обращении по HTTP все запросы перенаправляются на защищенную версию публикации.
Обратите внимание, что для подключения используется последняя версия протокола TLS 1.3, шифр AES 256 бит и совершенная прямая секретность на основе эллиптической кривой Curve25519, которая обеспечивается автоматически средствами IIS, ничего дополнительно настраивать не нужно.
Настройка дополнительной аутентификации по паролю
У нас нет основания сомневаться во встроенном механизме аутентификации 1С:Предприятия, во всяком случае в онлайн-сервисах дополнительной аутентификации не предусмотрено, но есть слабое место — пользователи. Во многих базах могут использоваться простые пароли или не использоваться вообще, часть таких паролей могут использоваться скриптами и средствами автоматизации, поэтому взять и установить сразу всем сложные пароли будет не так-то просто.
Ситуация усугубляется, если администрирование 1С выполняют другие сотрудники, они вполне могут, пойдя на поводу пользователей снова установить им слабые пароли, что сильно снижает безопасность собственного механизма аутентификации. Поэтому мы пойдем другим путем и установим дополнительную аутентификацию на уровне веб-сервера, тут уже точно без нас никто пароль не изменит. Основная его цель — оградить собственный механизм аутентификации 1С от доступа всех желающих, которым достаточно будет просто узнать ссылку.
Прежде всего штатными средствами Windows создадим нового пользователя, в нашем случае 1c-www, установим ему сложный пароль и сделаем срок его действия неограниченным.
Затем добавим этого пользователя в группу IIS_IUSRS и сделаем ее единственной:
Теперь самое время настроить аутентификацию, но есть одна особенность: эта настройка у IIS работает как на уровне сайта, так и на уровне опубликованного приложения, причем настройки приложения перекрывают настройки сайта. Поэтому, если мы настроим аутентификацию на уровне сайта, то вопреки нашим ожиданиям на уровне приложений она работать не будет, так как там остались свои настройки по умолчанию. Да, после Apache или NGINX это неожиданно, но IIS работает именно так.
Поэтому настраивать аутентификацию нужно для каждой публикации, настройку на уровне сайта можете оставить на собственное усмотрение. На уровне публикации переходим в Проверка подлинности и отключаем все методы кроме Обычная проверка подлинности, для включения-выключения используйте ссылку в меню Действия справа.
Повторяем данные действия для каждой публикации.
Теперь при попытке обратиться к нашей публикации мы увидим сначала окно дополнительной аутентификации:
В браузере мы можем запомнить пароль и клиент будет работать с 1С без дополнительных телодвижений, но форма аутентификации 1С останется надежно прикрыта от случайных посетителей и ботов.
Если мы используем тонкий клиент, то там также появится дополнительная форма аутентификации:
Но запомнить пароль там не представляется возможным, что может вызывать недовольство пользователей, поэтому укажем в свойствах базы дополнительные параметры запуска:
/WSN 1c-www /WSP Pa$$w0rd_1
Где ключ /WSN определяет пользователя веб-сервера, а ключ /WSP — пароль.
Как видим, настроить защищенный доступ к публикации 1С:Предприятие достаточно несложно, главное точно следовать нашей инструкции и стараться понимать, что именно и зачем вы делаете на каждом из шагов.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Клиент дал задачу установить 1С, IIS и настроить доступ к файловой базе через веб-сервер IIS.
Работаем 8 июня 2021 (для понимания актуальности релизов).
На сервере диск 432 Гб, всё SSD.
Конфигурация сервера достойная:
Установлена ОС Windows Server 2019 Standart.
Установка платформы 1С
Создаем папку дистрибутивов distr в корне диска C.
Заходим на релизы, качаем последнюю платформу 8.3.19.1150:
Качаем дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Windows», потому что сервер 64-разрядный. В некоторых случаях нужна и 32-разрядная платформа, но сейчас она не понадобится.
Надо скачать 7-zip, он бесплатный, не проприетарный как Win Rar.
Распаковываем дистрибутив 1С, в distr будем хранить его в распакованном виде.
Запускаем установку 1С, помечаем что нам понадобится расширение веб-сервера:
Лицензии будут программными, поэтому галочки ставим так:
Создание новой базы
Создаем новую базу. Мне нравится каталог 1s (в букве s не нужно гадать, русская она или английская).
Изменение языка интерфейса на русский
Обнаруживаю, что интерфейс английский, поправляю как написано здесь:
Но там только System settings:
ОК, меняю региональные настройки:
Но все равно не помогает. Пробую вот это:
После чего происходит Restart системы:
И опять не помогло.
Всё-таки нахожу «корень зла», нужно было выбрать Русский язык в Additional interfaces:
И установить русский язык языком интерфейса:
После этого всё хорошо, по русски:
При запуске конфигуратора спрашивает лицензию:
Ввожу лицензию на УТ, уточняю у заказчика данные владельца лицензии — название кампании, фио, e-mail, адрес (юридический). Нажимаю «Сохранить данные», получаю файл LicData.txt, копирую его себе и отправляю заказчику.
При установки лицензии меня ждёт «сюрприз»:
Устанавливаю многопользовательскую лицензию на 5 пользователей, выбираю вот этот вариант, т.к. планирую доступ к файловой базе через веб-сервер (это важно, потом уже поменять будет нельзя):
К счастью, эта лицензия устанавливается успешно.
Позже я установил лицензию УТ в базе УТ. Видимо, ее надо было запускать из самой базы.
Установка базы УТ
Тут я вспоминаю, что нужно было не пустую базу делать а УТ.
Захожу на релизы, скачиваю УТ 11.4.13.187, благо там есть полный дистрибутив.
Скачиваю дистрибутив УТ, устанавливаю ее в каталог шаблонов.
Тут меня поджидает сюрприз, при попытке создать новую базу 1С не видит каталог шаблонов:
Хотя шаблоны присутствуют:
Смена каталога шаблонов не помогла.
После того, как включил расширения, понял, что это скачался UDP-файл, а не полный дистрибутив:
Это можно было понять и по названию файла:
Когда скачивал, промахнулся мышкой.
ОК, качаю полный дистрибутив. В дата-центре он качается почти мгновенно!
Вот теперь можно создавать базы:
Далее создаю базу УТ в каталог UT и базу УТ-Демо в каталог ut-demo.
Пока заполняется база УТ при первом запуске, переключаюсь на другие задачи:
Настройка IIS
Настройку делал по инструкции. Проблема была в том, что инструкция была для русского сервера, а у меня стоял английский:
Пришлось переводить на ходу, но вроде все нужные галочки расставил:
Проверил, что веб-сервер работает:
Далее запускаю конфигуратор от имени администратора системы, захожу в базу UT и делаю публикацию на веб-сервере:
Получаю ошибку, которую раньше уже встречал:
Назначаю пользователю IUSR полные права на каталог 1s:
На всякий случай делаю публикацию заново, ошибки не возникает.
Нажимаю Browse:
В браузере открывается база:
Задумался, почему опять английский язык, оказывается из-за строки en_US в адресной строке, по ru_RU заходит на русском.
Забыл как поменять порт с 80 на 8080. Пришлось посмотреть на ИТС.
Правда, там тоже не нашел, поэтому посмотрел как сделано на сервере у другого клиента и сделал по аналогии:
Узнал внешний IP адрес сервера с помощью Яндекса — вбил в поиск «мой внешний IP».
Но по адресу http://XXX.XXX.XXX.XXX:8080/ut/ru_RU/ извне 1С не доступна. Тогда отключил брандмауэр и доступ появился. В итоге прописал новое правило на входящие подключения для порта 8080:
После этого доступ появился и извне.
Добавляю пользователей, их имена не показываю в списке выбора (из соображения безопасности).
Скачиваю тонкий клиент 32-разрядный, его буду устанавливать клиентам.
Вот как бы и все.
P.S.: на этой задаче я впервые попробовал Remote Desctop Manager, на который планирую переходить для ведения коллекции подключений к удаленным рабочим столам.
Содержание:
- Настройка веб-сервера в IIS
- Публикации базы в 1С
- Настройка прав доступа для IIS
- Публикация базы данных на веб-сервере
- Подключение к опубликованной информационной базе через веб-браузер
- Создание бесплатного SSL-сертификата Let’s Encrypt на IIS
- Создание SSL-сертификата
- Создание отдельного пула и сайта с подключенным ssl-сертификатом
- Подключение кассового оборудования. Проброс COM-портов через TCP/IP с помощью Virtual Serial Ports Emulator (VSPE)
- Настройка VSPE на сервере
- Настройка VSPE на клиенте
- Примечание
Бесплатный сервер 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) для записи изменений и закроем все окна при помощи кнопки «ОК».
Далее необходимо дать полные права на каталог с установленными файлами «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 полные права на каталог с расположенными файлами данной информационной базы.
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/win-acme/win-acme/releases
Распакуем его в каталог на сервере с IIS: c:inetpubletsencrypt
Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.
Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.
Далее утилита выведет список запущенных на 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
Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).
Указать новый сертификат в «Сертификаты SSL»:
Настроить привязку к нашему сайту:
Проверяем.
Веб-публикация 1С доступна по защищенному соединению https.
4. Подключение кассового оборудования. Проброс COM-портов через TCP/IP с помощью Virtual Serial Ports Emulator (VSPE).
4.1 Настройка VSPE на сервере
Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».
После нужно создать виртуальные порты (для каждой кассы свой порт). Номера портов лучше взять пониже, дабы избежать проблем.
В открывшемся окне в выпадающем меню выбрать TcpServer. Нажать кнопку «Далее».
Установить локальный номер tcp-порта, который будет прослушиваться. Выбрать COM-порт, к которому подключено оборудование через преобразователь интерфейсов. Нажать на кнопку «Настройки».
Нажать кнопку «Готово».
В появившемся окне нажать на кнопку запуска (зеленый треугольник). Серверная часть настроена.
4.2 Настройка VSPE на клиенте.
Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».
В открывшемся окне в выпадающем меню выбрать «Connector».
Выбрать виртуальный COM-порт, который будет использоваться для проброса. Нажать на кнопку «Готово».
Нажать на кнопку «Создать новое устройство».
В открывшемся окне в выпадающем меню выбрать TcpClient
Указать 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-файл в автозагрузку или планировщик заданий. (для серверной и клиентской части).
- Так же необходимо сделать проброс портов (которые указывали) на маршрутизаторе.
Мы также готовы оказать помощь в настройке веб-публикации и подключении кассового оборудования к серверу 1С в облаке.
Нашим клиентам мы предлагаем реализацию данного проекта и последующее ИТ-обслуживание в рамках ИТ-аутсорсинга.
В начало статьи
Настройка веб-сервера IIS
Большинство пользователей при работе в тонком или веб-клиенте используют в основном публикацию информационных баз на основании протокола HTTP. С одной стороны — это простой и быстрый способ дать доступ к информационной базе пользователю, у которого нет дистрибутива тонкого клиента, и он может работать только в веб-клиенте или у пользователя нет прямого доступа к серверу «1С:Предприятие». С другой стороны – информационные базы, опубликованным таким образом, категорически не рекомендуются публиковать в глобальной сети Интернет, так как в таком случае используется незащищенный канал, данные по которому могут быть перехвачены злоумышленниками. Например, распространенные виды атак это:
Решением этих проблем является использование расширения протокола HTTP и в данной статье рассмотрены публикации информационных баз с использование протокола с шифрованием (HTTPS) для веб-сервера IIS.
Внимание! В статье не рассматривается выпуск и получение сертификата проверенных поставщиков. Этот пункт должен быть выполнен самостоятельно на основании предпочтений выбора провайдера услуг. В статье предполагается что, пропуская шаг выпуска самоподписанных сертификатов, у пользователя или администратора он имеется в наличие и будет подставлен в настроечные файлы, вместо указанных в статье самоподписанных сертификатов.
План работ:
Включение компонент веб-сервера.
Windows Server 2012 R2, 2016 и 2019.
Выпуск самоподписанного сертификата (Необязательно).
1. Включение компонент веб-сервера
По умолчанию в операционной среде Windows компоненты веб-сервера не установлены. В зависимости от версии установка может несущественно различаться. Мы будем рассматривать два варианта – это распространенный дистрибутив Windows 10, если планируются использовать для пробного включения шифрования протокола и Windows Server 2016/2018, если уже планируется непосредственное разворачивание публикации в продуктивной зоне.
1.1. Windows 10
Включение компонентов веб-сервера IIS в операционной системе Windows 10 выполняется достаточно просто. Для начала нужно открыть раздел «Программы и компоненты» («Programs and Features») в панели управления (Control panel). Сделать можно это несколькими способами:
Нажать сочетание клавиш Win + R и в открывшемся окне ввести «appwiz.cpl» и нажать ОК.
Открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features).
В окне «Программы и компоненты» («Programs and Features») нажмите на кнопку «Включение и отключение компонентов Windows» («Turn Windows features on or off»).
Когда откроется окно «Компоненты Windows» («Windows features») в нем необходимо будет проставить флажки для следующих элементов:
Компоненты разработки приложений
Средства управления веб-сайтом
Консоль управления IIS
После этого нажимайте на кнопку «OK» и дождитесь завершения выполнения операции. После того как включение компонент будет выполнено, можно переходить к пункту «2. Публикация информационной базы».
1.2 Windows Server 2012 R2, 2016 и 2019
Настройка компонент для Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019 одинаковая и все настройки производятся в диспетчере серверов (Server Manager).
Откройте диспетчер серверов (Server Manager) и нажмите Управление – Добавить роли и компоненты (Manage – Add Roles and Features).
В ответ на нажатие откроется окно мастера добавления ролей и компонентов (Add Roles and Features).
В этом окне нажмите два раза «Далее» («Next») пока мастер не переключится на страницу ролей сервера (Server Roles).
Во вкладке роли сервера (Server Roles) установите флажок «Web Server IIS». Так как эта роль зависит от другой роли ([Tools] IIS Management Console), то будет предложено установить ее дополнительно. Это можно сделать с помощью нажатия кнопки «Добавить компоненты» (Add Features) в открывшемся окне. После чего нажимаем кнопку «Далее» («Next») пока мастер не дойдет до вкладки «Роль веб-сервера IIS» («Web Server Role IIS»). На этой вкладке нажимайте кнопку «Далее» («Next») и попадете на вкладку «Службу ролей» («Role Services»). Во вкладке нужно найти пункт «Application Development» и выбрать в нем с помощью флажков пункты «ISAPI Extensions» и «ISAPI Filters». Как только закончите с установкой флажков нажимайте «Далее» («Next») и «Установить» («Install»).
На этом установка веб-сервера завершена. Можно переходить к настройкам сертификатов.
2. Выпуск самоподписанного сертификата
Выпуск самоподписанного сертификата для веб-сервера IIS максимально простой.
Для реальных систем не рекомендуем использовать самоподписанный сертификат.
Для начала процедуры выпуска откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections) . После этого нажмите на ссылку «Сертификаты сервера» («Server Certificates») .
Откроется окно доступных сертификатов сервера (Server Certificates) в котором нужно нажать «Создать самозаверенный сертификат…» («Create Self-Signed Certificate…»).
В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы лучше явно указывать в качестве значения «Полное имя сертификата» («Specify a friendly name for the certificate») адрес сервера, на котором расположен сервер IIS. Как только имя сертификата будет задано нажимайте на кнопку OK и переходите к пункту привязки сертификата.
3. Привязка сертификата
Предполагается, что сертификат получен и добавлен в список сертификатов сервера. Если сертификат получен с помощью распространенного сертифицирующего центра, то его нужно предварительно импортировать в окне «Сертификаты сервера» («Server Certificates»).
Как только сертификат появится в списке, переходим непосредственно к его привязки к публикации сайта. Для этого выделяем «Default Web Site» и в окне «Действия» («Actions») нажимаем на пункт «Привязки…» («Binding…»).
В этом окне можно увидеть, что публикация работает только на порту 80, который относится к незащищенному протоколу HTTP. Чтобы его расширить, нажмите кнопку Добавить… (Add…) слева от списка привязок сайта и в открывшемся окне выберите Тип (Type) в качестве значения «https». Завершением настройки будет выбор ранее импортированного сертификата в списке «SSL-сертификат» («SSL certificate»). Нажимаем кнопку OK и закрываем мастер привязок сайта.
Можно переходить к публикации информационной и проверки его работоспособности.
4. Проверка публикации
Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню «Администрирование». После этого выбрать «Публикация информационной базы».
В окне публикации указать имя публикации и по желанию определить каталог, где будут находиться настройки публикации. Его также можно оставить по умолчанию.
После этого требуется нажать кнопку «Опубликовать» и дождаться окончания операции.
Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:
- Имя вашего сервера (например, server1)
- Имя публикации базы (которое было указано в окне настройки публикации)
Для таких параметров ссылка будет иметь вид:
Если все хорошо, то откроется страница с вашей информационной базой.
Источник
Настройка веб-публикации 1С, подключение кассового оборудования
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:\inetpub\wwwroot\), необходимо дать полные права группе «Пользователи» (Users). В принципе, этот шаг можно пропустить, но тогда для публикации или изменения публикации базы данных надо будет запускать «1С:Предприятие» от имени администратора. Для настройки безопасности данного каталога, кликаем по нему правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).
В открывшемся окне свойств, переходим на вкладку «Безопасность» (Security) и нажимаем кнопку «Изменить» (Edit…), для изменения действующих разрешений. Появится окно разрешений для данного каталога. В списке Групп или пользователей (Groups or user names) выделим группу «Пользователи» (Users) и в списке разрешений для выбранной группы установим флаг «Полный доступ» (Full control). Затем нажмем «Применить» (Apply) для записи изменений и закроем все окна при помощи кнопки «ОК».
Далее необходимо дать полные права на каталог с установленными файлами «1С:Предприятие» (по-умолчанию: C:\Program Files (x86)\1cv8\ для 32-разрядного модуля расширения и C:\Program Files\1cv8\ для 64-разрядного) группе IIS_IUSRS. Для этого выполняем аналогичные описанным выше действия, с той лишь разницей, что для того, чтобы необходимая группа появилась в списке «Группы или пользователи» (Groups or user names), необходимо нажать расположенную под списком кнопку «Добавить» (Add..), а в окне выбора групп или пользователей нажать «Дополнительно» (Advanced…).
Затем нажимаем расположенную справа кнопку «Поиск» (Find Now), после чего выбираем необходимую группу 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:\inetpub\letsencrypt
Запустится интерактивный мастер, который сначала попросит указать ваш e-mail, на который будут отправляться уведомления о проблемах с обновлением сертификата, и согласиться с пользовательским соглашением.
Затем нужно будет выбрать, что необходимо создать новый сертификат (N: Create new certificate) и выбрать тип сертификата (в нашем примере нет необходимости использовать сертификат с несколькими SAN), поэтому достаточно выбрать пункт 1. Single binding of an IIS site.
Далее утилита выведет список запущенных на 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:\Users\User\AppData\Roaming\letsencrypt-win-simple) и создаст привязку на сайте IIS. В том случае, если на сайте уже установлен SSL-сертификат, он будет заменен новым. Кроме того, будет создано правило в планировщике заданий Windows, которое запускается каждый день и автоматически выпускает и устанавливает новый сертификат каждые 60 дней.
3.2 Создание отдельного пула и сайта с подключенным с SSL-сертификатом.
Создаем отдельный пул в IIS для letsencrypt
Добавляем сайт в новый пул. Порт указываем 443 (или другой на который позже сделаем проброс на 443 порт).
Указать новый сертификат в «Сертификаты SSL»:
Настроить привязку к нашему сайту:
Веб-публикация 1С доступна по защищенному соединению https.
4. Подключение кассового оборудования. Проброс COM-портов через TCP/IP с помощью Virtual Serial Ports Emulator (VSPE).
4.1 Настройка VSPE на сервере
Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».
После нужно создать виртуальные порты (для каждой кассы свой порт). Номера портов лучше взять пониже, дабы избежать проблем.
В открывшемся окне в выпадающем меню выбрать TcpServer. Нажать кнопку «Далее».
Установить локальный номер tcp-порта, который будет прослушиваться. Выбрать COM-порт, к которому подключено оборудование через преобразователь интерфейсов. Нажать на кнопку «Настройки».
Нажать кнопку «Готово».
В появившемся окне нажать на кнопку запуска (зеленый треугольник). Серверная часть настроена.
4.2 Настройка VSPE на клиенте.
Запустить программу VSPE. Нажать на кнопку «Создать новое устройство».
В открывшемся окне в выпадающем меню выбрать «Connector».
Выбрать виртуальный COM-порт, который будет использоваться для проброса. Нажать на кнопку «Готово».
Нажать на кнопку «Создать новое устройство».
В открывшемся окне в выпадающем меню выбрать TcpClient
Указать IP-адрес удаленного сервера и номер TCP-порта, на который будет осуществляться подключение. Выбрать виртуальный COM-порт, который будет использоваться для соединения.
В появившемся окне нажать на кнопку запуска (зеленый треугольник). Клиентская часть готова.
После меняем настройки 1С на наши виртуальные порты. Делаем тестирование.
5. Примечание
Несколько нюансов данного ПО:
- Данный продукт бесплатный для Windows с архитектурой х86 и платный для х64. Использовать версией для х64 можно и без ключа. Просто постоянно выскакивает предложение купить программу. Других ограничений (по времени работы или функционалу) нет.
Программа не сохраняет настройки автоматически и не запускается в момент старта ОС. Поэтому необходимо сохранить настроенную конфигурацию и создать ярлык с параметром:
где, c:/****.vspe — путь к сохраненному файлу.
Созданный ярлык помещаем в автозагрузку или создаем bat-файл для запуска программы с использованием сохраненной конфигурации. Bat-файл должен содержать строку следующего формата:
Для автоматического запуска программы VSPE после запуска ОС Windows следует поместить ссылку на этот bat-файл в автозагрузку или планировщик заданий. (для серверной и клиентской части).
Мы также готовы оказать помощь в настройке веб-публикации и подключении кассового оборудования.
Нашим клиентам мы предлагаем реализацию данного проекта и последующее ИТ-обслуживание в рамках ИТ-аутсорсинга.
Источник
На чтение2 мин
Опубликовано
Обновлено
1С:Предприятие — мощная платформа для автоматизации бизнес-процессов. Для использования 1С на удаленных рабочих местах и веб-клиентах требуется настройка веб-сервера IIS на операционной системе Windows Server 2019. В данной инструкции мы расскажем о том, как выполнить эту настройку подробно и без ошибок.
Первым шагом необходимо установить и настроить сам веб-сервер IIS на сервере Windows Server 2019. Для этого откройте «Центр управления сервером» и выберите пункт меню «Установка ролей и компонентов». Откроется мастер установки, в котором выберите роль «Веб-сервер (IIS)» и нажмите «Далее». Затем выберите необходимые компоненты (например, «ASP.NET» и «Разработка приложений») и установите их.
После завершения установки веб-сервера IIS настройте его основные параметры. В меню «Центр управления сервером» найдите и запустите «IIS Manager». Во вкладке «Сервер» выберите «Пулы приложений» и создайте новый пул приложений с именем, например, «1С:Предприятие». Выберите соответствующую версию .NET Framework и укажите учетную запись с правами администратора. После создания пула приложений зайдите в его настройки и выберите «Расширения функций CGI и ISAPI». Также убедитесь, что у пула приложений есть доступ к необходимым системным папкам и файлам.
Продолжение следует…
Настройка сервера IIS для 1С на Windows Server 2019
Настройка сервера IIS (Internet Information Services) для работы с 1С на операционной системе Windows Server 2019 требует выполнения нескольких шагов. Ниже представлен подробный процесс настройки.
- Установите необходимые компоненты:
- Запустите установочный файл Windows Server 2019 и выберите «Установка сервера с графическим интерфейсом»
- Выберите «Установка ролей и компонентов», затем «Службы интернета (IIS)»
- Установите компоненты следующих сервисов: «Расширяемые службы хоста ASP.NET», «Формулировщик сеансов», «Разработка приложений» (ASP.NET, .NET Extensibility, ISAPI Extensions, ISAPI Filters)
- Настройте пулы приложений:
- Запустите IIS Manager и перейдите в «Пулы приложений»
- Создайте новый пул приложений с именем «1CAppPool»
- Установите версию .NET CLR на «Без управляемого кода»
- На вкладке «Процессы» выберите «Сетевой сервис», а в «Идентификация приложений» выберите «Системную учетную запись»
- Включите пул приложений, нажав «Включить»
- Создайте веб-сайт:
- Перейдите в «Сайты»
- Создайте новый веб-сайт с именем «1CWebSite»
- Выберите физический путь для веб-сайта
- Установите IP-адрес и порт для сайта
- Выберите созданный ранее пул приложений «1CAppPool»
- Добавьте HTTPS-связь по необходимости
- Включите веб-сайт, нажав «Включить»
- Настройте привязки и сертификаты:
- Выберите созданный веб-сайт «1CWebSite» и перейдите в «Привязки»
- Создайте новую привязку для HTTP и указать IP-адрес и порт
- Для HTTPS связи, выберите существующий или создайте новый сертификат
- Настройте доступ к 1С:
- Создайте папку с базой данных 1С
- Откройте свойства папки и перейдите на вкладку «Общие»
- Установите разрешающий доступ для папки
- Настройте права доступа к базе данных 1С:
- Откройте 1С:Предприятие и выберите «Конфигурация сервера»
- Откройте вкладку «Сервис», затем «Интернет»
- Установите флажки «Разрешить внешние подключения» и «Аутентификация через HTTP/HTTPS»
- Установите права доступа для пользователей
- Проверьте работу сервера:
- Откройте веб-браузер и введите адрес веб-сайта
- Убедитесь, что получаете доступ к базе данных 1С и она работает без ошибок
После выполнения всех этих шагов ваш сервер IIS будет полностью настроен для работы с 1С на Windows Server 2019.
