Содержание:
- Настройка веб-сервера в 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-файл в автозагрузку или планировщик заданий. (для серверной и клиентской части).
- Так же необходимо сделать проброс портов (которые указывали) на маршрутизаторе.
Мы также готовы оказать помощь в настройке веб-публикации и подключении кассового оборудования.
Нашим клиентам мы предлагаем реализацию данного проекта и последующее ИТ-обслуживание в рамках ИТ-аутсорсинга.
В начало статьи
Существует множество причин, по которым может возникнуть необходимость организации доступа к базе через web. Например, для организации доступа к базе из Интернета, для организации обменов с базой 1С через http или web сервисы, для работы с файловой базой в многопользовательском режиме по локальной сети – все это даст значительный прирост производительности по сравнению с доступом к файлу базы данных через общую сетевую папку. Для организации такого доступа к базе, потребуется стороннее ПО в виде веб-сервера. Базы 1С могут быть опубликованы на веб серверах IIS и Apache. Далее рассмотрим установку и настройку перечисленных веб серверов и порядок публикации баз 1С на каждом из них. Если у вас веб сервер уже установлен и настроен, тогда можете переходить сразу к публикации.
1. Установка и настройка веб сервера IIS.
Для выполнения публикации базы 1С на веб сервере IIS для начала потребуется установить и настроить сам веб-сервер. Дистрибутив данного веб-сервера уже входит в состав операционной системы Windows. Для правильной работы опубликованной базы 1С достаточно компонентов «Расширения ISAPI» («ISAPI Extensions») и «Фильтры ISAPI»(«ISAPI Filters»). Однако для более удобного управления веб-сервером потребуется также установить и «Консоль управления IIS» («IIS Managment Console»). Расположение данных компонентов в зависимости от операционной системы может отличаться, наша задача их найти и установить.
Windows 10
В Windows 10 для их установки требуется открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features) и нажать на кнопку «Включение или отключение компонентов Windows» («Turn Windows features on or off»).
В открывшемся окне найти и отметить галочкой компоненты: Расширения ISAPI(ISAPI Extensions), Фильтры ISAPI(ISAPI Filters), Консоль управления IIS(IIS Managment Console) и нажать ОК:
Windows Server 2012 R2, 2016, 2019 и 2022
Настройка компонент для 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»), пока мастер не дойдет до вкладки «Выбор служб ролей». На этой вкладке нужно найти пункт «Разработка приложений»(«Application Development») и выбрать в нем пункты «ISAPI Extensions» и «ISAPI Filters».
Как только закончите с установкой флажков нажимайте «Далее» («Next») и «Установить» («Install»).
На этом установка необходимых компонентов веб-сервера завершена.
2. Публикация базы на веб сервере IIS
После установки веб-сервера можно переходить непосредственно к публикации информационной базы. Для этого заходим в конфигуратор нужной базы, предварительно запустив программу 1С от имени администратора. Далее выбираем пункт «Администрирование» — «Публикация на веб-сервере». Придумываем имя для нашей публикации, например, «test_1c_iis», проверяем что правильно определился веб сервер — «Internet Information Services», каталог оставляем по умолчанию и жмем «Опубликовать».
Соглашаемся на перезапуск веб-сервера и переходим к проверке корректности публикации. Для проверки доступности опубликованной базы нужно сформировать путь к ней. Если не были внесены дополнительные настройки на веб сервере, то путь будет иметь следующий вид: http://<Имя веб сервера>/<Имя публикации> Имя вашего веб сервера, где производилась его установка (например, server1) Имя публикации базы (которое было указано в окне настройки публикации). Для таких параметров ссылка будет иметь вид:
http://server1/test_1c_iis
Обратите внимание, что если выполняется публикация файловой базы, то:
- необходимо дать права на чтение для пользователя, от лица которого выполняются запросы (IUSR_ для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.x и старше), на каталог bin файлов конкретной версии системы «1C:Предприятие»;
- дать права на модификацию пользователю, от лица которого выполняются запросы (IUSR_ для IIS версий 5.1 или 6.0 или группу IIS_IUSRS для IIS версий 7.x и старше), на каталог информационной базы.
Вставляем в браузер сформированную ссылку на публикацию. Если база открылась, значит публикация выполнена корректно.
3. Настройка веб сервера Apache
Первым делом необходимо скачать и установить веб-сервер. Список доступных реализаций можно найти на официальном сайте производителя по ссылке, а в статье будет использован самый первый из списка дистрибутивов. Он поставляется в виде zip-архива без инсталлятора. Поэтому нужно скачать архив и разархивировать в «C:\Program Files» или «C:\Program Files (x86)» в зависимости от того, какую разрядность вы выбрали. Потом нужно открыть каталог, куда вы распаковали архив и найти в нем папку «conf», а в ней конфигурационный файл веб сервера — «httpd.conf». Далее в конфигурационном файле (у меня он лежит по пути «C:\Program Files (x86)\Apache24\conf\httpd.conf») необходимо отредактировать путь к корневому каталогу веб сервера. Для этого находим переменную SRVROOT и прописываем путь к каталогу, куда мы распаковали архив, в моем случае это «C:\Program Files (x86)\Apache24».
Далее откройте командую строку от имени администратора. Самый простой вариант – это открыть меню Пуск и ввести cmd. После того, как приложение будет найдено щелкнуть по нему правой кнопкой мыши и выбрать пункт меню «Запустить от имени Администратора» («Run as Administrator»).
В командной строке переходим в директорию распакованного Apache с помощью команды cd. Например:
cd «C:\Program Files (x86)\Apache24\bin»
и вводим команду:
httpd.exe -k install
Это установит службу Apache, которой можно будет управлять в окне служб.
На этом установка Apache завершена. Осталось только опубликовать информационную базу.
4. Публикация базы на веб сервере Apache
Процесс аналогичен публикации баз на IIS, который описан выше, однако следует обратить внимание на то, что каталог по умолчанию не заполняется. Создайте пустой каталог на диске и укажите путь к нему. Также нужно проверить, что указан правильный веб-сервер, а именно «Apache 2.4». После чего жмите кнопку «Опубликовать».
Проверить доступность публикации можно тем же способом, как делали для IIS. Также необходимо дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись, в случае файлового варианта).
5. Организация доступа к опубликованной базе из Интернета
Теперь имея ссылку на публикацию мы можем работать с базой через браузер или через тонкий клиент, прописав путь к публикации. Однако нужно учитывать, что при текущих настройках доступ публикации будет только из локальной сети. Для того чтобы опубликованная база была доступна за рамками локальной сети нужно выполнить ряд шагов:
- Получить у своего интернет-провайдера статический IP-адрес, по-другому «белый IP». Это адрес, который провайдер выдаёт пользователю в аренду на постоянной основе. Он не меняется никогда, и при любом выходе в интернет он одинаковый.
- Зарегистрировать в интернете доменное имя. Это можно сделать, обратившись к интернет-провайдеру, или заказать, например, тут. Домен – это тот адрес, по которому будет доступен ваш веб-сервер из глобальной сети Интернет, например, www.myserver.ru.
- Настроить на маршрутизаторе правило перенаправления портов (по- другому говорят «пробросить порт»). Делать это нужно для того, чтобы все внешние запросы, приходящие на конкретный порт, были перенаправлены на тот сервер, где мы настраивали веб-сервер. Обычно это делают системные администраторы. Для этого им потребуется назвать имя сервера и порт, на котором работает веб-сервер, по умолчанию это 80 порт для http и 443 для https.
- Приобрести SSL-сертификат. Сделать это можно там же, где приобретали доменное имя, так как сертификат выдается на конкретное доменное имя. Он позволит зашифровать трафик, который передается между браузером и веб-сервером, во избежание перехвата паролей и прочей ценной информации злоумышленниками.
- Перенаправить все запросы к вашему доменному имени к выданному статическому IP-адресу.
Следует учитывать, что данные действия должны быть выполнены заранее. Пункты 1,2,4 могут быть выполнены заказчиком самостоятельно. Пункт 3 и 5 выполняется системным администратором заказчика или сторонней организацией на платной основе, например, можно посоветовать клиенту обратиться к нашей обслуживающей организации.
Только после выполнения вышеописанных шагов можно приступить к настройке веб-сервера, для организации доступа к опубликованной базе из интернета.
Стоит сказать, что вместо покупки SSL-сертификата, есть возможность его получить и другими способами. Например, можно самостоятельно сгенерировать самоподписанный сертификат или выпустить бесплатный временный сертификат с помощью стороннего сервиса. О всех недостатках и преимуществах данных способов в таблице ниже:
Сертификат |
Преимущества |
Недостатки |
Платный |
Выпущен аккредитованным центром сертификации. Ему доверяют все браузеры. Автоматически продлевается |
Выдается на платной основе, выпуск происходит не моментально, нужно ждать обработки заказа |
Самоподписанный |
Быстрый самостоятельный выпуск. Можно выпустить на длительный срок |
Нет доверия от всех браузеров. Чтобы браузер ему доверял, требуется его включение в список доверенных всем пользователям, которые будут работать с опубликованными базами |
Временный |
Быстрый самостоятельный выпуск. Доверяют большинство браузеров |
Срок действия 90 дней, после чего требуется его перевыпуск |
Если у клиента уже есть купленный сертификат, нужно его запросить и добавить его в настройках веб сервера. Как это сделать, будет рассказано ниже. Если сертификата нет, и недостатки сертификатов, выпущенных альтернативными способами, для клиента несущественны, тогда можно приступить к выпуску самоподписанного или временного сертификата.
5.1. Выпуск самоподписанного сертификата
Алгоритм выпуска самоподписанного сертификата для IIS и Apache различается.
5.1.1. IIS
IIS сам включает в себя нужные средства для выпуска самоподписанного сертификата. Для этого откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections). После этого нажмите на ссылку «Сертификаты сервера» («Server Certificates»).
В этом же окне мы можем добавить уже купленный ранее сертификат или сгенерировать новый. Для импорта существующего сертификата нужно нажать ссылку «Импортировать (Import)», указать путь к сертификату в формате «.pfx» и пароль от него:
Обратите внимание, что добавить мы можем только сертификаты с расширением «.pfx». Что делать в случае, если нет сертификата нужного формата, будет описано позже.
Для создания самоподписанного сертификата нужно нажать «Создать самозаверенный сертификат…» («Create Self-Signed Certificate…»).
В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы, лучше явно указывать в качестве значения «Полное имя сертификата» («Specify a friendly name for the certificate») адрес сервера, на котором расположен сервер IIS.
Для того, чтобы при подключении пользователей к опубликованной базе браузер не ругался на сертификат, требуется его выгрузить и отправить пользователю, чтобы он его себе установил в список доверенных сертификатов.
На этом процесс создания самоподписанного сертификата в IIS завершен. Для того чтобы опубликованная база открывалась по протоколу HTTPS нужно указать сертификат в настройках сайта. Для этого выделяем сайт по умолчанию (Default Web Site), жмем на ссылку «Привязки». Как мы видим в данный момент наш сайт доступен только по протоколу HTTP на 80 порту. Нам нужно добавить новую привязку, для того чтобы все публикации на этом сайте были доступны также и по протоколу HTTPS.
При добавлении новой привязки нам нужно выбрать только протокол HTTPS и выбрать сгенерированный ранее сертификат.
На этом настройка веб сервера IIS для работы по протоколу HTTPS завершена. Если на маршрутизаторе выполнены все настройки, о которых было упомянуто выше, то база должна успешно открыться по защищенному каналу. Ее ссылка будет формироваться по следующему принципу: https://<имя купленного домена>/<имя публикации>
5.1.2. Apache
В отличии от IIS, сертификат для Apache выпускается с помощью стороннего программного обеспечения OpenSSL. По умолчанию в операционной системе Windows его нет. Поэтому его нужно скачать и установить самостоятельно. Возможные дистрибутивы OpenSSL для Windows указаны на wiki- странице официального сайта. В статье рассматривается дистрибутив по ссылке, который указан первым на странице wiki. После скачивания дистрибутива установки необходимо его запустить.
На первой странице нужно согласиться с условиями лицензионного соглашения (переключить переключатель на «I accept the agreement») и нажать кнопку «Next».
Мастер переключится на страницу размещения дистрибутива. Если местоположение не планируется изменять, то можно оставить поле в значении по умолчанию и нажать кнопку «Next».
На следующем шаге ничего менять не нужно, и можно просто нажать «Next».
Дистрибутив готов к установке. Нужно нажимать кнопку «Install» и дождаться завершения установки.
Финальный шаг – это страница пожертвований в пользу поддержки проекта. Если в планы не входит перечисление пожертвований, то необходимо снять все флажки и нажать кнопку Finish.
Далее потребуется открыть командную строку от имени администратора и перейти в директорию исполняемого файла OpenSSL(у меня это «C:\Program Files\OpenSSL-Win64\») командой:
cd «C:\Program Files\OpenSSL-Win64\bin»
потом нужно выполнить команду ниже (параметры «-keyout» и «-out» содержат пути, куда будут сгенерированы сертификаты, рекомендую использовать путь как в примере. Также вместо «myserver» рекомендуется использовать реальное имя сервера):
openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 -keyout «C:\Program Files (x86)\Apache24\conf\ssl\myserver.key» -out «C:\Program Files (x86)\Apache24\conf\ssl\myserver.crt»
Во время выполнения команды необходимо будет заполнить информацию о владельце сертификата. Обязательно нужно заполнить «Common Name (e.g. server FQDN or Your bane)», остальные поля можно оставить по умолчанию. После выполнения команды в указанном вами каталоге должны появиться сгенерированные сертификаты.
Для включения протокола HTTP на веб-сервере, нам потребуется снова открыть конфигурационный файл «httpd.conf» и раскомментировать строки ниже путем удаления символа решетки (#) в начале строки:
Еще необходимо убедиться, что раскомментирована строка «Include conf/extra/httpd-ahssl.conf»
Теперь осталось только прописать путь к сгенерированным сертификатам в файле httpd-ahssl.conf. У меня полный путь к нему такой: «C:\Program Files (x86)\Apache24\conf\extra\httpd-ahssl.conf». В нем мы ищем параметры «SSLCertificateFile» и «SSLCertificateKeyFile», где указываем путь к сгенерированным ранее сертификатам с расширением «.crt» и «.key». Так как мы генерировали сертификаты в «C:\Program Files (x86)\Apache24\conf\ssl\» и указывали ранее путь к корневому каталогу веб сервера (SRVROOT «C:\Program Files (x86)\Apache24»), то нам тут необходимо только поменять имя сертификата на то, которое мы указали при генерации. Впрочем, если напишете полный путь к сертификату, например, «C:\Program Files (x86)\Apache24\conf\ssl\myserver.crt», тоже будет работать. В итоге должно получиться примерно так:
На этом настройка веб-сервера завершена. Если озвученные ранее подготовительные действия были выполнены, то можно проверять доступность публикации из интернета. Действия аналогичные как для веб-сервера IIS.
5.2. Выпуск временного сертификата (Let’s Encrypt)
Прежде чем приступить к выпуску временного сертификата, у нас уже должен быть доступный веб-сервер из Интернета по 80 порту. Далее нужно скачать с официального сайта и установить на свой компьютер (необязательно на сервер, для которого будет генерироваться сертификат) утилиту для командной строки certBot. После ее установки должны запустить командную строку от имени администратора и выполнить команду:
certbot certonly —authenticator manual
Тут программа нам предлагает ввести имя домена, для которого нужно выпустить сертификат. После ввода имени домена нажимаем «Enter». Следующим шагом нужно в корневом каталоге веб сервера создать файл с указанным именем и содержимым (это делается для подтверждения прав владения указанным доменом):
Должно получится как-то так:
Примечание: для создания каталога с точкой в начале имени каталога, воспользуйтесь командной строкой.
После создания указанного каталога и файла в нем жмем «Enter» и дожидаемся завершения выполнения команды. Если все выполнилось успешно, программа нам сгенерирует в каталог «C:\Certbot\archive» нужные нам сертификаты.
Теперь сгенерированные сертификаты можно добавлять в настройки веб-сервера.
6. Преобразование формата сертификата
Иногда может потребоваться преобразование сертификатов из одного формата в другой. Например, как добавить сгенерированные ранее сертификаты на веб- сервер IIS, когда мы помним, что для импорта сертификата нужен один файл с расширением «pfx»? Для этого нужно их сконвертировать в нужный нам формат. Для этой цели можно воспользоваться установленной ранее программой OpenSSL, выполнив команду:
openssl.exe pkcs12 -export -out «C:\Certbot\archive\app.rg-spc.ru\app.rg-spc.r.pfx» -inkey «C:\Certbot\archive\app.rg-spc.ru\privkey1.pem» -in «C:\Certbot\archive\app.rg-spc.ru\cert1.pem» -certfile «C:\Certbot\archive\app.rg-spc.ru\fullchain1.pem»
где нужно указать пути к сгенерированным ранее сертификатам и путь, куда должен быть сгенерирован преобразованный сертификат, а также придумать пароль к сертификату, который потребуется при его добавлении на веб-сервер.
После окончания выполнения команды в указанной нами папке должен появится сконвертированный сертификат:
Если вам прислали сертификат в виде двух файлов с расширениями «key» и «crt», тогда команда на преобразование в формат «pfx» будет выглядеть примерно так:
«C:\Program Files\OpenSSL-Win64\bin.openssl.exe» pkcs12 -inkey «C:\Сертификаты\KEY.key» -in «C:\Сертификаты\certificate.crt» -export -out «C:\Сертификаты\certificate.pfx»
Во время работы программа предложит придумать пароль для созданного сертификата и ввести его. Его потребуется ввести еще при добавлении сертификата на веб-сервер IIS, поэтому его нужно запомнить. Как импортировать сертификаты на IIS было описано ранее. После выполнения команды в указанном каталоге должен появится нужный нам сертификат.
Таким образом, мы наглядно показали, как выполнить публикацию баз 1С на веб-сервере с использованием сертификата или без такового.
Подавляющая часть пользователей программных продуктов от фирмы 1С осведомлена о возможностях платформы и типовых\нетиповых конфигурациях, разработанных на ней. Но остальная часть юзеров в состав, которых входят бухгалтера, кадровики и другие офисные сотрудники наверняка не знают до конца всех прелестей программы. Сюда же можно отнести и опытных ИТ специалистов, который просто никогда плотно не работали с 1С, отсюда и вытекают упущения в использовании полного функционала. К подобным полезным механизмам ПО от 1С можно отнести возможность работы в нескольких клиентских режимах:
- Тонкий клиент – это программа или клиентское приложение, входящее в состав системы 1С:Предприятие, которая позволяет работать пользователю с базой данных. Название «Тонкий клиент» вытекает из ограниченного списка возможностей, открытых в этом режиме.
- Толстый клиент – это аналогичное клиентское приложение 1С, за исключением предоставления пользователю полных функциональных возможностей программы.
- Веб-клиент – это виновник сегодняшней темы публикации, о котором будем вести речь. Веб-клиент является аналогом тонкого и толстого клиентов, интерфейс полностью идентичен. Однако между ними есть огромное отличие, которое заключает в принципе работы этого режима 1С. Тонкий и толстый клиенты запускаются и работают в среде операционной системы, неважно какой Windows или Linux, а веб-клиент для запуска и дальнейшей работы пользуется средствами браузера.
Это позволяет неограниченному количеству пользователей удаленно работать с центральной базой из любой точки, где есть интернет. Этот становится возможно благодаря публикации центральной базы на веб-сервере IIS (internet Information Server) или других подобных веб-серверах. Для того, чтобы правильно настроить подобным способом работу конфигурации необходимо следовать инструкциям, которые описаны в этой публикации.
Веб-сервер может использоваться как на операционных системах, предназначенных для серверного оборудования, так и на Windows 10. Отличие заключается только в разной настройке служб. Чтобы приступить к разворачиванию служб интернет-сервера, перейдем в стандартную панель управления, где откроем утилиту «Программы и компоненты», а далее в левой части окна нажмем «Включение или отключение компонентов Windows».
В открывшемся окне «Компоненты Виндовс» необходимо найти и активировать галочкой «Службы IIS». Далее нужно развернуть дерево этого компонента и перейти в ветку как показано на скриншоте ниже. Здесь обязательно нужно активировать следующий набор компонентов, которые будут необходимы для корректной работы платформы 1С:Предприятие (х64): NET Extensibility 4.8, ASP библиотеки, а также расширения и фильтры ISAPI. Далее походу публикации разберем особенность настроек веб-сервера для работы с платформой разрядностью x86.
После этого нажимаем «Ок» и перезагружаем компьютер, после перезагрузки, установленные компоненты должны будут заработать. Проверить это можно, открыв любой браузер, и в адресной строке ввести localhost. В браузере должна отобразиться домашняя страница IIS, это будет означать, что мы движемся в верном направлении. Если страница не отображается, значит необходимо проверить правильность включенных компонентов, о которых говорили выше.
Проверка установленных модулей расширения 1С:Предприятие
После успешного запуска IIS, необходимо убедиться в том, что во время установки программы 1С был добавлен модуль, который позволяет работать в режиме web-клиента. Для этого снова возвращаемся к утилите, отвечающей за программы и компоненты операционной системы, в списке программ находим установленную платформу и нажимаем «Изменить». В мастере установки, также выбираем режим установки «Изменить», чтобы добавить недостающие дополнения. В списке расширений платформы находим «Модуль расширения веб-сервера». Если он не отображается в виде красного крестика, значит этот модуль был установлен ранее, иначе его нужно установить.
Как только убедились в том, что 1С установлена корректно со всеми необходимыми дополнениями, продолжим двигаться дальше. Поскольку в корневую папку платформы будет обращаться сервер IIS, необходимо на эту папку дать полные права соответствующей группе пользователей под названием «IIS_IUSRS». Переходим в директорию, куда ранее была установлена 1С платформа (х64). Обычно это C:\Program Files\1Cv8\, а для 32-разрядных C:\Program Files(х86)\1Cv8\. Нажимаем правой кнопкой мыши и открываем свойства корневой папки 1cv8. Далее открываем вкладку, где определяется безопасность и нажимем кнопку «Изменить», чтобы добавить необходимую группу пользователей. Следом в открывшемся окне жмем «Добавить» и переходим в окно «Выбор: Пользователя или группы», где переходим в раздел дополнительно. Нажимаем в открывшемся окне кнопку «Поиск» и в результатх поиска выбираем IIS_IUSRS, после этого соответственно добавляем группу с помощью кнопки «ОК».
Далее останется только установить полные права этой группе в окне «Разрешения для группы:» и закрыть все открытые окна, нажимая «Ок».
Публикация центральной базы
Следующий шаг, это процесс публикации базы, запускаем приложение 1С:Предприятие под правами администратора windows и переходим в конфигуратор основной базы. В конфигураторе в главном меню перейдем в раздел «Администрирование» — «Публикация на веб-сервере». В появившемся окне заполняем следующие реквизиты:
- Имя. Название, которое будет использоваться для подключения в веб-клиенте.
- Веб-сервер. По умолчанию будет установлен Internet Information Server.
- Каталог. Папка публикуемой базы, создаваемая публикацией в основном каталоге IIS.
После, нужно отметить галочками сервисы, которые пригодятся для дальнейшей работы в браузере и далее нажать кнопку «Опубликовать». После должно высветиться диалоговое окно, которое сообщит об успешном завершении.
Отмечу, что, если используется 64-разрядная платформа, тогда останется только провести регистрацию, исполняемого модуля веб-расширения 1С в информационном интернет сервере (IIS). Это можно сделать с помощь специального файла «webinst.exe», который необходимо просто запустить от имени администратора и дождаться окончания выполняемых процедур. Располагается этот волшебный файл в каталоге bin, в директории, где была установлена 1С. После того как файл завершит работу, модуль будет зарегистрирован. Или же пойти вторым более долгим, но надежным путем. Открываем «Диспетчер служб Internet Information Server», где в дереве сайтов необходимо выбрать опубликованный веб-вариант центральной базы и перейти к настройкам «Сопоставления обработчиков».
В списке сопоставления найдем и откроем обработчик, относящийся к нашей базе, найти его можно по характерному названию «1C Web-service Extension». Дважды щёлкнем по нему, откроется окно редактирования, где в соответствующем поле укажем путь к исполняемому файлу 64-разрядного модуля расширения веб-сервера 1С. Его расположение соответствует корневой папке bin, в которую необходимо перейти и отметить необходимый файл (dll). Точный путь к нужному файлу показан на скриншоте ниже.
После, необходимо нажать на «Ок» и вернуться в список сопоставления обработчиков, где аналогичным способом открыть и настроить обработчик ISAPI-dll. В нем также необходимо указать директорию к исполняемому файлу wsisapi.dll 64-разрядного модуля.
Процесс сопоставления обработчиков стандартного пула приложений для 32-рязрядных платформы полностью аналогичен, за исключением того, что исполняемый файл wsisapi.dll располагается в другой директории, соответствующей разрядности платформы (C:\Program Files (x86)\1cv8\8.3.16.1814\bin\wsisapi.dll). Нужно просто указать этот путь в поле «Исполняемый файл» в обработчиках, рассмотренных выше. Ну и заключительным шагом разрешить работу для 32-разрядных программам в пуле стандартных приложений (см. рисунок ниже).
После этого разворачивание IIS и публикация базы на платформе 1С:Предприятие (x64-x86) закончена, чтобы в этом убедиться введем в браузере адрес публикации, например, http://localhost/Name_base. Если мы увидим загрузку нашей конфигурации значит можем радоваться, веб-клиент доступен и готов к работе. На этом статья подошла к своему логическому завершению, спасибо за внимание.
Сегодня решил освежить свои знания про установку IIS для 1С и был удивлен, что оказывается довольно давно всё существенно упростили. Раньше нужно было устанавливать компоненты ASP, менять настройки в DefaultAppPool в классический тоже больше не нужно ну и кое что ещё по мелочи.
Установка веб компоненты 1С
Это общий шаг, что на Windows 10/11, что на Windows Server.
Чтобы не возникла ситуации, когда в дистрибутиве чего-то не хватает, берем полный технологический дистрибутив для Windows с официального сайта 1С
Если платформа не установлена
Если платформа не установлена, то выбираем setup.exe
Если платформа была установлена ранее
Установка IIS на Windows 10/11
Идем в панель управления старого образца
Кликаем по Службы IIS, затем Расширения ISAPI и Фильтры ISAPI. Если нигде не промахнулись, то система сама выделит все необходимые компоненты.
Нажимаем OK, ждем установки. Возможно потребуется перезагрузка.
Настройка службы IIS для работы с 1С
Далее открываем Диспетчер служб IIS
В пулах приложений для DefaultAppPool меняем режим управления конвейера на Классический. После изменения, на всякий случай перезапускаем службу.
Настройка прав доступа к базам данных
Если для файловой базы, вы пропустили этап установки прав на папку с базой, то у вас возникнет ошибка вида “У пользователя (группы) “IUSR” отсутствуют права на доступ к каталогу информационной базы…”
Идем в каталог с базой данных и кликнув правой мышкой по папке, в контекстном меню выбираем Свойства, далее Безопасность, далее Изменить
В открывшемся редакторе разрешений выбираем Добавить, затем Дополнительно.
Нажимаем Поиск и в результатах выбираем IIS_USERS, а затем IUSR
В редакторе разрешений для обоих пользователей выставляем полные права.
Публикация базы 1С на IIS
От имени администратора Windows заходим в конфигуратор и заходим в Администрирование -> Публикация на веб-сервере
Если задача просто опубликовать доступ к базе, достаточно как-нибудь назвать базу и отметить галочку “Публиковать доступ для клиентских приложений”
Нажимаем кнопку опубликовать и всё, если система попросит перезапустить веб сервис, то соглашаемся, заходим по нужному адресу и пользуемся
Возможные ошибки
В статье рассмотрим ключевые шаги и рекомендации по настройке веб-сервера для работы с 1С.
Эффективное управление бизнесом невозможно без информационных технологий. Один из неотъемлемых инструментов учета и анализа — программные продукты 1С. Для надежной и стабильной работы данной системы необходимо правильно настроить веб-сервер.
Установка интернет-сервера IIS для 1С
Чтобы включить IIS на компьютере под управлением Windows 10 и старше, выполните следующие действия.
- Перейдите в Панель Управления → Программы → Установка программ.
- Выберите Включение и отключение компонентов Windows.
- Выберите пункт Службы IIS и нажмите кнопку ОК.
- После завершения установки откройте браузер и перейдите по адресу http://localhost/. Если открылась тестовая страница IIS, значит установка произведена успешно.
Чтобы включить IIS на компьютере под управлением Windows Server, выполните следующие действия.
- Перейдите в Панель Управления → Добавить роли и функции.
- Ознакомьтесь с информацией в разделе Прежде чем начать и нажмите Далее.
- Выберите пункт Установка на основе ролей или функций и нажмите Далее.
- Выберите сервер, на который хотите установить службы, и нажмите Далее.
- Выберите опцию Веб-сервер (IIS) на странице выбора ролей сервера. После откроется новое окно. Нажмите Добавить компоненты → Далее.
Остальные пункты меню установки можно пропустить, в данный момент они не нужны. В последнем окне нажмите кнопку Установить, дождитесь окончания установки и закройте окно. После завершения откройте браузер и перейдите по адресу http://localhost/. Если открылась тестовая страница IIS, значит установка произведена успешно.
Проверка установленных модулей расширения 1С:Предприятие
Для корректной работы базы 1С на веб-сервере IIS нужно установить дополнительные компоненты.
- Перейдите в Панель Управления → Программы и компоненты.
- Выберите Включение и отключение компонентов Windows.
- Перейдите в Службы IIS → Службы интернета → Компоненты разработки приложений.
- Выберите Расширение ISAPI → Фильтры ISAPI, нажмите Ок.
- После завершения установки перезагрузите компьютер.
Публикация базы 1С на сервере IIS
Для публикации информационной базы 1С откройте ее Конфигуратор от имени администратора и перейдите в пункт Администрирование. Затем выберите Публикация информационной базы.
Укажите имя публикации и по желанию определите каталог, где будут находиться настройки. Его также можно оставить по умолчанию. После этого нажмите кнопку Опубликовать и дождитесь окончания операции.
Для проверки корректной работы откройте страницу в браузере и перейдите по ссылке, которая состоит из двух частей: имени вашего сервера и имени публикации базы, которое вы указали в окне настройки публикации.
Для параметров, которые указаны выше, ссылка будет иметь вид: https://имя_сервера/имя_публикации_базы.
Если все корректно настроено, откроется страница с вашей информационной базой.
Публикация базы на сервере Apache
Публикация базы на сервере Apache состоит из двух этапов. Сначала нужно установить сам сервер и только потом опубликовать базу. Сейчас разберем все это более подробно.
Установка сервера Apache
- Скачайте установщик Apache c официального сайта.
- Запустите его и пройдите по всем этапам меню установки, настроив его в соответствии с вашими требованиями.
- Проверьте, запустился ли сервер. Для этого откройте браузер и укажите в адресной строке http://localhost. Если все установлено корректно, вы увидите страницу с надписью «It Works».
Публикация базы
Процесс публикации базы на сервере Apache полностью идентичен публикации на IIS.
- Откройте Конфигуратор от имени администратора.
- Перейдите в пункт меню Администрирование.
- Выберите раздел Публикация информационной базы.
- Укажите имя публикации и определите каталог, где будут находиться ее настройки (его можно оставить по умолчанию).
- Нажмите кнопку Опубликовать и дождитесь окончания операции.
Для проверки корректной работы перейдите по ссылке, которая состоит из двух частей: имени вашего сервера и имени публикации базы (которое вы указали в окне настройки публикации).
Для параметров, которые указаны выше, ссылка будет иметь вид: https://имя_сервера/имя_публикации_базы.
Если все корректно настроено, откроется страница с вашей информационной базой.
Создание сертификата Let’s Encrypt
Сертификат от Let’s Encrypt нужен для защиты соединения между вашим веб-сервером и клиентскими устройствами. Он обеспечивает шифрование данных между сервером и клиентом.
Для создания сертификата потребуется выполнить несколько простых шагов.
- Cкачайте дестрибутив с сайта https://www.win-acme.com/ и установите программу.
- Запустите win-acme от имени администратора.
- В открывшемся окне будет предложено выбрать одно из действий — выберите m (create certificate full option).
- В следующем списке выберите 2 (manual input).
- Введите свое доменное имя, нажмите Enter, Enter.
- Выберите 2 (serve verification files from memory).
- Выберите 2 (RSA key).
- Выберите подходящий формат сертификата.
- Укажите путь до папки с сертификатами.
- В следующих пунктах выберите вариант No, так как кроме создания сертификата в данный момент ничего от программы не нужно.
- Нажмите 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.
Как это сделать
- Скачайте и установите модуль URL Rewrite на сервер IIS (скачать можно с сайта IIS).
- Откройте приложение IIS Manager на сервере.
- Выберите ваш веб-сайт в приложении IIS Manager.
- В меню IIS выберите URL Rewrite.
- Нажмите на кнопку Add Rule(s).
- В появившемся окне выберите Blank Rule и нажмите OK.
- Введите любое имя правила, а затем для параметров Requested URL, Using, Pattern и Ignore case установите значения Matches the Pattern, Regular Expressions, (.*) и Checked соответственно.
- В разделе Conditions для параметров Logical grouping, Input, Type и Pattern установите значения Match Al, {HTTPS}, Matches the Pattern и ^OFF$.
- В разделе Action для параметров Action type, Redirect URL, Append query string и Redirect type установите значения Redirect, https://{HTTP_HOST}/{R:1}, Checked и Permanent (301).
- Нажмите 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, чтобы применить настройки.
На этом настройка перенаправления будет завершена.