Сегодня решил освежить свои знания про установку 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, чтобы применить настройки.
На этом настройка перенаправления будет завершена.
Подавляющая часть пользователей программных продуктов от фирмы 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. Если мы увидим загрузку нашей конфигурации значит можем радоваться, веб-клиент доступен и готов к работе. На этом статья подошла к своему логическому завершению, спасибо за внимание.
Существует множество причин, по которым может возникнуть необходимость организации доступа к базе через 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С Предприятие 8.3 (Управление торговлей 11) и собственного HTTP-сервиса на веб-сервере Microsoft IIS.
Для чего публиковать 1С в интернете?
Для доступа к функционалу 1С и вашей рабочей базе через обыкновенный веб-браузер или тонкий клиент. При этом никаких ограничений в вашей работе не будет, это все-равно что 1С установлен на вашем компьютере, только доступен через веб-браузер (даже со смартфона, правда, в случае смартфона – не очень удобно будет из-за отсутствия масштабирования).
Что касается HTTP-сервиса, то это более специфический функционал, кто понимает, что такое HTTP REST API, то уже может представить, что это такое. Если кратко, то HTTP-сервисы предназначены для программного обмена информацией между интернет-ресурсами, например, в моей статье про Скайп-боты в 1С HTTP-сервис обязательно нужен – он выполняет функции приема и обработки сообщений которые отправляются Боту в Скайпе от человека.
Устанавливаем веб-сервер Microsoft IIS (Internet Information Services)
Веб-сервер рекомендую устанавливать на серверной операционной системе, в моем случае это был Microsoft Windows Server 2012 R2.
Веб-сервер IIS можно устанавливать на рабочем сервер даже с активными RDP подключениями других пользователей, не бойтесь, их не выкинет из сервера
- Заходим в пуск, далее набираем на клавиатуре «Диспетчер серверов».
- Нажимаем ссылку – «Добавить роли и компоненты».
- Нажимаем «Далее», выбираем «Установка ролей и компонентов». Далее.
- В окне выбора целевого сервера – оставляем всё как есть и нажимаем Далее.
- В окне выборе ролей сервера поставьте флаг на против «Веб-сервер (IIS)». В появившемся окне «Добавить компоненты, необходимые для Веб-сервера (IIS)» оставьте всё как есть и нажмите кнопку «Добавить компоненты». Далее.
- В окне «Выбор компонентов» на шаге «Компоненты» – оставляем всё как есть и нажимаем Далее.
- На шаге «Службы ролей» отмечаем флажками пункты: Безопасность – Обычная проверка подлинности и проверка подлинности Windows. В группе «Разработка приложений» — ASP.NET 4.5, расширения ISAPI, Расширяемость .NET 4.5, Фильтры ISAPI.
- Нажимаем Далее и Установить.
Если вы решили установить IIS на Windows 10 (7, 8), то установка IIS будет примерно такая же, только там не будет оснастки «Диспетчер серверов», вместо этого нужно зайти в Панель управления – Удаление программ, далее слева ссылка – «Включение и отключение компонентов Windows», ставим флаг напротив «Службы IIS», далее установите флаги как было описано выше.
Проверяем корректность установки веб-сервера IIS, для этого запускаем интернет-браузер, например, Хром и в адресной строке указываем локальный адрес текущего сервера: http://127.0.0.1, если всё сделано правильно, то откроется главная страница веб-сервера IIS.
Чтобы открыть панель управления веб-сервером IIS, перейдите в Панель управления компьютером, далее кнопка Просмотр – Категория – Мелкие значки, кликаем по «Администрирование».
Открываем ярлык – «Диспетчер служб IIS».
Обратите внимание на разрядность установленной платформы 1С — х64:
После того как вы поняли какая разрядность у вашей платформы 1С (х32 или как на скриншоте выше – х64), в диспетчере служб IIS выберите «Пулы приложений», один раз кликните левой кнопкой мыши по «DefaultAppPool» и справа нажмите ссылку «Дополнительные параметры», далее в строке «Разрешены 32-разрядные приложения» должность стоять False, а если платформа 1С у вас была бы не х64, т.е. х32, то здесь должно быть установлено значение True.
Заранее имейте ввиду, если после публикации 1С на веб-сервере вы откроете 1С в веб-браузере, далее откроете список документов и получите ошибку «Обнаружено потенциально опасное значение Request.Path, полученное от клиента (:)», то в настройках «DefaultAppPool» рядом с «Разрешены 32-разрядные приложения» есть строка «Режим управляемого контейнера», он должен быть «Classic».
Публикуем базу 1С на веб-сервере IIS
Кликаем по ярлыку 1С правой кнопкой мыши и выбираем пункт – «Запуск от имени администратора».
Запускаем нужную базу 1С в режиме конфигуратора. Внимание! Конфигурация 1С должна быть на управляемых формах, иначе публикация будет бессмысленная, например, Управление торговлей редакции 11.х можно публиковать и иметь к ней доступ через веб-браузер, а Управление торговлей редакции 10.х нельзя. Но это не касается HTTP-сервисов, если вы создадите свой HTTP-сервис в Управление торговлей редакции 10.х, то он будет работать.
В конфигураторе нажмите кнопку меню Администрирование – Публикация на веб-сервере. Далее кнопку «Опубликовать». Только запомните название публикации, в моем случае (на скрине ниже) – «DemoTrd».
Может появиться просьба перезапустить веб-сервер IIS, соглашаемся.
Если база файловая:
То может отобразиться предупреждение при публикации на веб-сервере:
Дайте полные права пользователю IUSR на директорию в которой установлена база 1С (адрес директории отображается в окне с ошибкой о правах см. выше или в окне «О программе» также смотрите выше).
Теперь можете проверить работу 1С в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd
Если всё сделали правильно, то откроется база 1С.
Публикуем HTTP-сервис 1С на веб-сервере IIS
Давайте по-быстрому создадим свой HTTP-сервис который будет просто возвращать слова «Всё хорошо!» при обращении к нему через обычный веб-браузер.
В конфигураторе создаем новый HTTP-сервис, с шаблоном по умолчанию и одним GET методом у которого будет обработчик такого вида:
Обновим нашу публикацию на веб-сервере, для этого снова нажмите в меню Администрирование – Публикация на веб-сервере, убедитесь, что на закладен HTTP-сервисы установлен флаг на против нашего HTTP-сервиса:
Нажимаем «Опубликовать». Должно появиться сообщение – «Публикация обновлена».
Теперь можете проверить работу опубликованного HTTP-сервиса в режиме веб-браузера, для этого открываете веб-браузер на том же сервере где только что настраивали веб-сервер и вводите адрес: http://127.0.0.1/DemoTrd/hs/test где «test» это корневой URL HTTP-сервиса, в итоге, если всё настроено верно, то получим сообщение «Все хорошо». Единственное, браузер может попросить указать логин и пароль пользователя из базы 1С.
Доступ к вашей базе 1С из любой точки земли и интернета
Если IP адрес вашего сервера внешний и статический (это можно узнать у вашего системного администратора и интернет-провайдера), то открывать вашу базу 1С и HTTP-сервис через интернет можно будет с любого компьютера подключенного к интернету, для этого в интернет-браузере вводите внешний статический IP-адрес сервера вместо 127.0.0.1 в адресах указанных выше.
Обсудить статью на 1С форуме?
Читайте также
- Лайфхаки 1С – удаление дублей в 1С
- Обновление платформы 1С 8.3
- Как провести восстановление базы 1С из резервной копии?
- Как запустить обработку в 1С?
- Лайфхаки 1С – редактирование печатной формы счета