Настройка веб сервера iis для 1с на windows server 2019

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Установка сервера 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:\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 и перейдите в раздел Привязки, где следует ввести выбранное доменное имя.

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

Теперь перейдем в С:\inetpub\letsencrypt и запустим 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С:Предприятие достаточно несложно, главное точно следовать нашей инструкции и стараться понимать, что именно и зачем вы делаете на каждом из шагов.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Содержание:

  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/win-acme/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-файл в автозагрузку или планировщик заданий. (для серверной и клиентской части).

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

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

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

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

В статье рассмотрим ключевые шаги и рекомендации по настройке веб-сервера для работы с 1С.

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

Установка интернет-сервера IIS для 1С

Чтобы включить IIS на компьютере под управлением Windows 10 и старше, выполните следующие действия.

  1. Перейдите в Панель Управления Программы Установка программ.
  2. Выберите Включение и отключение компонентов Windows.
  3. Выберите пункт Службы IIS и нажмите кнопку ОК.
  4. После завершения установки откройте браузер и перейдите по адресу http://localhost/. Если открылась тестовая страница IIS, значит установка произведена успешно.
Тестовая страница IIS. Далее можно переходить к настройке 1С.

Тестовая страница IIS.

Чтобы включить IIS на компьютере под управлением Windows Server, выполните следующие действия.

  1. Перейдите в Панель Управления Добавить роли и функции.
  2. Ознакомьтесь с информацией в разделе Прежде чем начать и нажмите Далее.
  3. Выберите пункт Установка на основе ролей или функций и нажмите Далее.
  4. Выберите сервер, на который хотите установить службы, и нажмите Далее.
  5. Выберите опцию Веб-сервер (IIS) на странице выбора ролей сервера. После откроется новое окно. Нажмите Добавить компонентыДалее.

Остальные пункты меню установки можно пропустить, в данный момент они не нужны. В последнем окне нажмите кнопку Установить, дождитесь окончания установки и закройте окно. После завершения откройте браузер и перейдите по адресу http://localhost/. Если открылась тестовая страница IIS, значит установка произведена успешно.

Проверка установленных модулей расширения 1С:Предприятие

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

  1. Перейдите в Панель Управления Программы и компоненты.
  2. Выберите Включение и отключение компонентов Windows.
  3. Перейдите в Службы IIS Службы интернета Компоненты разработки приложений.
  4. Выберите Расширение ISAPIФильтры ISAPI, нажмите Ок.
  5. После завершения установки перезагрузите компьютер.

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

Для публикации информационной базы 1С откройте ее Конфигуратор от имени администратора и перейдите в пункт Администрирование. Затем выберите Публикация информационной базы.

Укажите имя публикации и по желанию определите каталог, где будут находиться настройки. Его также можно оставить по умолчанию. После этого нажмите кнопку Опубликовать и дождитесь окончания операции.

Для проверки корректной работы откройте страницу в браузере и перейдите по ссылке, которая состоит из двух частей: имени вашего сервера и имени публикации базы, которое вы указали в окне настройки публикации.

Для параметров, которые указаны выше, ссылка будет иметь вид: https://имя_сервера/имя_публикации_базы.

Если все корректно настроено, откроется страница с вашей информационной базой.

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

Публикация базы на сервере Apache состоит из двух этапов. Сначала нужно установить сам сервер и только потом опубликовать базу. Сейчас разберем все это более подробно.

Установка сервера Apache

  1. Скачайте установщик Apache c официального сайта.
  2. Запустите его и пройдите по всем этапам меню установки, настроив его в соответствии с вашими требованиями.
  3. Проверьте, запустился ли сервер. Для этого откройте браузер и укажите в адресной строке http://localhost. Если все установлено корректно, вы увидите страницу с надписью «It Works».

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

Процесс публикации базы на сервере Apache полностью идентичен публикации на IIS.

  1. Откройте Конфигуратор от имени администратора.
  2. Перейдите в пункт меню Администрирование.
  3. Выберите раздел Публикация информационной базы.
  4. Укажите имя публикации и определите каталог, где будут находиться ее настройки (его можно оставить по умолчанию).
  5. Нажмите кнопку Опубликовать и дождитесь окончания операции.

Для проверки корректной работы перейдите по ссылке, которая состоит из двух частей: имени вашего сервера и имени публикации базы (которое вы указали в окне настройки публикации).

Для параметров, которые указаны выше, ссылка будет иметь вид: https://имя_сервера/имя_публикации_базы.
Если все корректно настроено, откроется страница с вашей информационной базой.

Создание сертификата Let’s Encrypt

Сертификат от Let’s Encrypt нужен для защиты соединения между вашим веб-сервером и клиентскими устройствами. Он обеспечивает шифрование данных между сервером и клиентом.

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

  1. Cкачайте дестрибутив с сайта https://www.win-acme.com/ и установите программу.
  2. Запустите win-acme от имени администратора.
  3. В открывшемся окне будет предложено выбрать одно из действий — выберите m (create certificate full option).
  4. В следующем списке выберите 2 (manual input).
  5. Введите свое доменное имя, нажмите Enter, Enter.
  6. Выберите 2 (serve verification files from memory).
  7. Выберите 2 (RSA key).
  8. Выберите подходящий формат сертификата.
  9. Укажите путь до папки с сертификатами.
  10. В следующих пунктах выберите вариант No, так как кроме создания сертификата в данный момент ничего от программы не нужно.
  11. Нажмите Quit.

Если все выполнено верно, сертификат появится в указанной папке.

Конвертация SSL-сертификатов

Для конвертации сертификатов можно использовать онлайн-конвертер (например, SSL Converter или Leader SSL) или команды из таблицы ниже:

Действие Команда
Конвертировать PEM в DER openssl x509 -outform der -in certificate.pem -out certificate.der
Конвертировать PEM в P7B openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
Конвертировать P7B в PEM openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
Конвертировать P7B в PFX openssl pkcs7 -print_certs -in certificate.p7b -out certificate.ceropenssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
Конвертировать PFX в PEM openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
Конвертировать PEM в PFX openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
Конвертировать DER в PEM openssl x509 -inform der -in certificate.cer -out certificate.pem

Перенаправление HTTP на HTTPS для веб-сервера IIS

HTTP — небезопасный протокол, поэтому большинство современных браузеров по умолчанию используют HTTPS. Но даже в этом случае сохраняется вероятность эксплуатации старого клиента, который попытается подключиться по HTTP. Чтобы не допустить этого, нужно настроить перенаправление на HTTPS.

Как это сделать

  1. Скачайте и установите модуль URL Rewrite на сервер IIS (скачать можно с сайта IIS).
  2. Откройте приложение IIS Manager на сервере.
  3. Выберите ваш веб-сайт в приложении IIS Manager.
  4. В меню IIS выберите URL Rewrite.
  5. Нажмите на кнопку Add Rule(s).
  6. В появившемся окне выберите Blank Rule и нажмите OK.
  7. Введите любое имя правила, а затем для параметров Requested URL, Using, Pattern и Ignore case установите значения Matches the Pattern, Regular Expressions, (.*) и Checked соответственно.
  8. В разделе Conditions для параметров Logical grouping, Input, Type и Pattern установите значения Match Al, {HTTPS}, Matches the Pattern и ^OFF$.
  9. В разделе Action для параметров Action type, Redirect URL, Append query string и Redirect type установите значения Redirect, https://{HTTP_HOST}/{R:1}, Checked и Permanent (301).
  10. Нажмите Apply, чтобы сохранить настройки.

После выполнения этих шагов все запросы HTTP будут автоматически перенаправляться на HTTPS.

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

Для настройки перенаправления HTTP на HTTPS на сервере Apache потребуется изменить конфигурационный файл и добавить соответствующие правила перенаправления.

Откройте конфигурационный файл Apache. Обычно он находится в директории /etc/apache2/ и называется httpd.conf или apache2.conf.

Найдите секцию <VirtualHost> для вашего веб-сайта. Если у вас есть несколько виртуальных хостов, найдите соответствующую секцию для нужного сайта.

Внутри секции <VirtualHost> добавьте следующие строки:

    <VirtualHost *:80>
ServerName example.com
Redirect / https://<домен вашего сервера>/
</VirtualHost>

<VirtualHost *:80> — ip-адрес сервера и порт виртуального сервера

ServerName example.com — имя сервераRedirect / https://<домен вашего сервера>/ — указывает на то, что все запросы к этому виртуальному хосту должны быть перенаправлены на HTTPS-версию.

Сохраните изменения в конфигурационном файле Apache и перезапустите сервер Apache, чтобы применить настройки.

На этом настройка перенаправления будет завершена.

Клиент дал задачу установить 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, на который планирую переходить для ведения коллекции подключений к удаленным рабочим столам.

  • Опубликовано Илья Низамов
  • Разделы Blog
  • Дата 22.07.2020
  • Комментарии Нет комментариев

Подписывайтесь в соц сетях. Там провожу конкурсы и публикую еще больше контента.

Привет программисты 1С, с вами Низамов Илья. В данном видео мы установим web сервер iis на windows server 2019. В следующем видео мы установим 1с на сервер и опубликуем ее на web сервере iis. Так же покажу нюансы при установке web компоненты 1С на iis.

Запишись на тренинг

ЗАКРОЙ ВСЕ ВОПРОСЫ ПО РАБОТЕ С HTTP В 1С ЗА ОДНО ЗАНЯТИЕ

Вам также может понравиться

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как сделать загрузочную флешку windows 10 на linux ubuntu
  • Не устанавливается exe файл на windows 10
  • Как установить bluetooth на компьютер windows 10 без адаптера
  • Как запустить установку windows через флешку
  • Управление дисками windows 10 не видит ssd