Как опубликовать базу 1с на веб сервере
Перейти к содержимому

Как опубликовать базу 1с на веб сервере

  • автор:

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

Александр Рудницкий

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

Веяния времени

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

Однако сегодня всё меняется: цифровые бизнес-модели масштабируются с ростом объемов операций, меняются модели доступа к ИТ-системам компаний, требования к их производительности и так далее.

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

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

Иллюстрация: база 1С

Для доступа достаточно иметь веб-браузер, и устройство с доступом к сети интернет.

Служба 1С — отдельно, БД — отдельно: простой принцип, обеспечивающий необходимую производительность.

В Интернете нет недостатка в инструкциях по публикации обоих элементов в единой физической локации – то есть, в рамках старой парадигмы. Это довольно просто: запускаем 1С от имени Администратора, затем в конфигураторе «Администрирование» выбираем «Публикация на веб-сервере». И, собственно, готово.

Но что делать, когда служба 1С и веб-служба должны располагаться на разных серверах?

Организовать веб-сервер для 1С можно с помощью двух решений: Internet Information Server (IIS), который включён в операционную систему Windows, а также с помощью Apache-сервера.

Обе утилиты распространяются бесплатно и предлагают все необходимые функции для настройки удаленных серверов.

Для IIS

Для публикации базы на веб-сервере IIS необходимо сначала установить требуемые компоненты IIS и платформу 1С с компонентой «Модули расширения веб-сервера».

Иллюстрация: база 1С

При установке IIS обязательно устанавливаются следующие компоненты.

Общие функции HTTP (Common HTTP Features)

  • статическое содержимое (Static Content);
  • документ по умолчанию (Default Document);
  • обзор каталогов (Directory Browsing);
  • ошибки HTTP (HTTP Errors).

Разработка приложений (Application Development)

  • ASP;
  • ASP.NET. 3.5;
  • Расширения ISAPI (ISAPI Extensions);
  • Расширяемость .NET 3.5 (.NET Extensibility 3.5);
  • Фильтры ISAPI (ISAPI Filters).

Исправление и диагностика (Health and Diagnostics)

  • Ведение журнала HTTP (HTTP Logging);
  • Монитор запросов (Request Monitor);
  • Средства управления (Management Tools);
  • Консоль управления IIS (IIS Management Console).

После установки платформы 1С и компонентов IIS пользователю (или группе IIS_USRS), от имени которого запущена служба веб-сервера, необходимо предоставить права на каталог с платформой 1С для возможности запуска компонентов.

Включение компонентов веб-сервера IIS в операционной системе Windows 10 выполняется достаточно просто. Для начала нужно открыть раздел «Программы и компоненты» (Programs and Features) в панели управления (Control panel). Когда откроется окно «Компоненты Windows» (Windows features) в нём необходимо проставить флажки для следующих элементов:

Службы IIS

  • Службы интернета;
  • Компоненты разработки приложений;
  • Расширение ISAPI;
  • Фильтры ISAPI.

Средства управления веб-сайтом

  • Консоль управления IIS.

Затем нажимаем «OK», ждём завершения выполнения операции. После того как включение компонент будет выполнено, можно переходить к публикации информационной базы.

Настройка компонент производятся в диспетчере серверов (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). На этом установка веб-сервера завершена.

«C:\Program Files\1cv8\8.3.16.1224\bin\webinst.exe» -iis -wsdir base1 -dir «C:\inetpub\wwwroot\base1» -connStr «Srvr=»Srv1C»;Ref=»base1″

Для Apache

Если в качестве веб-сервера выбран Apache, нередко много времени приходится тратить на поиск корректной ссылки для скачивания актуального дистрибутива Apache.

Архив с сервером скачивается и разархивируется в любую удобную папку, например, C:\Apache24. В названии папки указан номер версии Apache, например Apache 2.4.

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

После разархивирования в командной строке от имени администратора (меню «Пуск» и ввод cmd) открываем приложение через пункт меню «Запустить от имени Администратора» (Run as Administrator).

В командной строке переходим в директорию распакованного Apache с помощью команды cd

и директории Apache вводим команду:

httpd.exe -k install

Это установит Apache, которым можно далее управлять в окне служб.

Далее нужно только опубликовать информационную базу и указать файлы сертификата в настройках Apache.

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

webinst [-publish] | -delete <веб-сервер> -wsdir <виртуальный каталог>

-dir <физический каталог >

-connstr <строка соединения>

-confpath <путь к файлу httpd.conf>

-descriptor <путь к файлу default.vrd>

«C:\Program Files\1cv8\8.3.16.1063\bin\webinst.exe» -apache24 -wsdir base2 -dir

«C:\Apache24\w\base2» -connStr «Srvr=»Srv1C:2541″; Ref=»base2″;» — confPath

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

Настройка веб-публикации 1С, подключение кассового оборудования

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

  • Общие функции HTTP (Common HTTP Features)
    • Статическое содержимое (Static Content)
    • Документ по умолчанию (Default Document)
    • Обзор каталогов (Directory Browsing)
    • Ошибки HTTP (HTTP Errors)
    • ASP
    • ASP.NET 3.5
    • Расширяемость .NET 3.5 (.NET Extensibility 3.5)
    • Расширения ISAPI (ISAPI Extensions)
    • Фильтры ISAPI (ISAPI Filters)
    • Ведение журнала HTTP (HTTP Logging)
    • Монитор запросов (Request Monitor)
    • Консоль управления 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) для записи изменений и закроем все окна при помощи кнопки «ОК».

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

    Далее необходимо дать полные права на каталог с установленными файлами «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

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

    список запущенных на 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

    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:/****.vspe — путь к сохраненному файлу.

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

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

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

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

    Записки IT специалиста

    Публикация баз данных 1С:Предприятие на веб-сервере IIS c защитой SSL и аутентификацией по паролю

    • Автор: Уваров А.С.
    • 10.05.2023

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

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

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

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

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

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

    Затем на странице Службы ролей в группе Безопасность выбираем Обычная проверка подлинности:

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

    А в разделе Разработка приложений включаем Расширения ISAPI и Фильтры ISAPI:

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

    Все остальное оставляем по умолчанию и завершаем установку роли.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Также помним, что при работе через браузер вам потребуется установить на веб-сервер нужное количество лицензий 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-адрес — соответствует шаблону
    • Использование — Постановочные знаки
    • Шаблон — *
    • Не учитывать регистр — флаг установлен

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

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

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

    И, наконец, в разделе Действие:

    • Тип действия — Перенаправление
    • URL-адрес перенаправления — https://
    • Добавить строку запроса — флаг снят
    • Тип перенаправления — Постоянное (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 определяет пользователя веб-сервера, а ключ /WSP — пароль.

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

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

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

    Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

    Поддержи проект!

    Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал

    Публикация базы 1С в Apache на Windows

    Обновлено и опубликованоОпубликовано: 27.12.2020

    Один из сценариев публикации базы 1С — использование веб-сервера Apache на системе Windows. Это может быть актуально, если мы больше доверяем данному веб-серверу, вместо встроенного в Windows IIS. Описанные действия применимы для любой версии Windows от 7 до Server 2019. В моем примере использовались Windows Server 2012 R2, Apache 2.4, 1C 8.3.

    Установка Apache

    Переходим на страницу загрузки официального сайта Apache и скачиваем нужную версию программы:

    Загрузка Apache с официального сайта

    * в данном примере скачивается одна из последних версий на момент обновления инструкции — 2.4.46 для системы x64 с поддержкой SSL.

    Загруженный архив распаковываем в любой каталог, например, C:\Apache24.

    Открываем командную строку от администратора и переходим в папку bin каталога, куда распаковали apache — в нашем случае:

    Запускаем установку apache как сервиса Windows:

    httpd.exe -k install

    Мы должны увидеть:

    Installing the 'Apache HTTP Server' service
    The 'Apache HTTP Server' service is successfully installed.
    Testing httpd.conf.
    Errors reported here must be corrected before the service can be started.

    * наш веб-сервер успешно установлен.

    В процессе запуска службы сразу после установки может выскочить ошибка. Нужно просто запустить Apache вручную. Для этого открываем службы Windows командой:

    Находим сервис с названием Apache и запускаем его:

    Запуск Apache в консоли управления службами Windows

    Открываем браузер и переходим по адресу http://localhost — мы должны увидеть страницу приветствия Apache.

    Установка завершена, и мы можем переходить к публикации.

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

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

    Также нужно отметить, что веб-сервер и сервер 1С могут быть на разных компьютерах.

    Графический интерфейс

    Запускаем 1С и выполняем вход в базу в режиме конфигуратора.

    Переходим в пункты меню АдминистрированиеПубликация на веб-сервере:

    В конфигураторе 1С переходим к публикации базы

    В открывшемся окне вводим имя для базы, выбираем веб-сервер Apache и указываем каталог, куда будут помещены конфигурационные файлы для публикации базы:

    Заполняем поля для публикации базы

    * имя базы и путь могут быть любыми, но желательно, чтобы они были такими же, как имя самой базы.

    Нажимаем кнопку Опубликовать — мы должны увидеть результат выполнения команды:

    Публикация успешно выполнена

    * если мы получим ошибку Веб серверы не обнаружены, необходимо убедиться, что служба Apache находится в состоянии «Работает».

    Система нам предложит перезапустить веб-сервер, чтобы изменения вступили в силу. Однако, с веб-сервером Apache это не всегда работает корректно, поэтому просто отказываемся от перезапуска:

    Отказываемся от перезапуска Apache после публикации базы

    . и идем в службы Windows:

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

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

    Командная строка

    В командной строке, запущенной от администратора, переходим в каталог с программой 1С, например:

    cd C:\Program Files\1cv8\8.3.18.1208\bin

    * обратите внимание, что в вашем случае версия будет другой. Необходимо посмотреть правильный путь и ввести его.

    После вводим команду:

    а) файловый вариант:

    webinst –publish -apache24 -wsdir Base -dir "c:\apache\htdocs\Base" -connstr "File=""D:\Bases\Base"";" -confpath "C:\Apache24\conf\httpd.conf

    webinst –publish -apache24 -wsdir Base -dir "c:\apache\htdocs\Base" -connstr "Srvr=192.168.0.10;Ref=Base;" -confpath "C:\Apache24\conf\httpd.conf

    • apache24 — версия нашего веб сервера и тип самого сервера.
    • wsdir — имя публикации для базы.
    • dir — каталог для хранения файлов публикации.
    • connstr — путь до базы. В случае хранения базы в файле пишем путь до нее. Если используется сервер 1С, то пишем его адрес и имя базы.
    • confpath — путь до конфигурационного файла Apache.

    Мы должны увидеть:

    net stop Apache2.4 && net start Apache2.4

    Запуск

    После публикации открываем браузер и заходим на страницу http://localhost/Base, где Base — имя, которое мы задавали при выполнении публикации. Мы должны увидеть окно загрузки 1С и предложение ввести логин и пароль.

    Чтобы открывать базу с других компьютеров, необходимо использовать адрес вида http://<IP-адрес сервера с публикацией>/<Имя опубликованной базы>.

    Несколько баз

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *