Публикация на Open Server Panel

11.07.24

Администрирование - Администрирование веб-серверов

Инструкция, как опубликовать веб-сервис с помощью OSPanel.

Для тех, кто еще не слышал об Open Server Panel (далее OSP) - это программная среда для веб-разработки на Windows с почти 4-мя миллионами скачиваний, позволяет быстро развернуть рабочую среду без дополнительной настройки. К тому же имеет удобный и понятный интерфейс.

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

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

Начнем с того, что каждая публикация имеет файл *.vrd, в котором описаны настройки публикации, то есть что и как должно использоваться при обработке запроса модулем веб сервиса 1С. В нем найдем строку вида base="/myApp", где "myApp" внешнее имя базы с точки зрения 1С. Структурно все конфигурации и шаблоны OSP находятся в директории /modules, так что не будем отходить от этой идеи и создадим папку "1с", в ней папку нашего проекта "myApp" и уже туда положим файл описания публикации default.vrd, так чтобы полный путь выглядел как "C:\OSPanel\modules\1c\myApp\default.vrd". Рекомендую рядом скопировать этот файл, на случай если основной затрется или настройки публикации изменятся. 

Так же в директории "domains" создадим папку "myApp", туда можно будет положить файлы веб сайта, для примера вот этот: 

 
 index.html

Теперь перейдем к конфигурации Apache. 

Запускаем OSP, в трее ПКМ по иконке - Дополнительно - Конфигурация - Apache...


 

В начале файла, в блоке "General" добавим строку Listen %ip%:1503 

Перейдем к секции подгружаемых модулей (Modules):

Раскомментируем модули proxy_module и proxy_http_module

Тут же вставляем LoadModule _1cws_module "C:/Program Files/1cv8/8.3.21.1393/bin/wsap24.dll" (см. картинку ниже, строка 157)

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



Важно запомнить, что при обновлении платформы необходимо в этой строке указать номер новой версии.

Следующий этап - сделать так, чтобы apache понял, как, откуда и куда перенаправлять запросы.

Так как 1С считает, что наши публикации могут быть отделены друг от друга только корневым путем входящего URL, пропишем хитрый маневр. 

Вставим следующий текст в самый конец файла

 

# ----------------------------
# 1c publication
# ----------------------------

<VirtualHost *:1503>
    ServerName 1c.publications

    Alias /myApp "%sprogdir%/modules/1c/myApp/"
    <Directory "%sprogdir%/modules/1c/myApp">
        AllowOverride All
        Options None
        Order allow,deny
        Allow from all
        Require all granted
        
        SetHandler 1c-application
        ManagedApplicationDescriptor %sprogdir%/modules/1c/myApp/default.vrd
    </Directory>
</VirtualHost>

<VirtualHost *:%httpport%>
    ServerName mySite.test
    DocumentRoot "%sprogdir%/domains/myApp"
</VirtualHost>

<VirtualHost *:%httpport%>
    ServerName api.mySite.test

    RewriteEngine On
    ProxyPreserveHost On

    ProxyPass / http://1c.publications:1503/myApp/hs/myHTTPservice/
    ProxyPassReverse / http://1c.publications:1503/myApp/hs/myHTTPservice/
</VirtualHost>

 

Что тут происходит:

Первый блок - создаем виртуальный хост "1c.publications" на стороннем порту 1503, через него мы будем проксировать входящие запросы. Тут таких пар Alias и Directory может быть сколько угодно, по одной для каждой публикации.

Второй блок - публикация домена "mySite.test", через него мы сможем обращаться к файлам директории \domains\myApp, в частности к файлу index.html, который мы создали 2-мя пунктами ранее.

Третий блок - публикация поддомена "api", единственное, что мы тут делаем, так это перенаправляем весь запрос сразу в нужную публикацию 1с и нужный HTTP-сервис.

Сохраняем файл и переходим к последнему этапу.

В трее ПКМ по иконке OSP - Дополнительно - Конфигурация - Hosts файл

Обычно также находится тут: C:\Windows\System32\drivers\etc\hosts

В самый конец файла вставляем:

 

127.0.0.1 1c.publications
127.0.0.1 api.mySite.test
127.0.0.1 mySite.test

 

Сохраняемся и перезагружаем OSP.

Теперь мы можем отправить запрос /ping двумя способами:

1. http://1c.publications:1503/myApp/hs/myHTTPservice/ping

2. http://api.mySite.test/ping

А сам веб сайт находится тут - http://mySite.test/

Замечу, что ничего связанного с этими публикациями в настройках доменов и алиасов OSP не должно быть. 

Это же решение может быть использована вне OSP, с голым апачем и для публикации сервиса в открытый доступ.

Пару штрихов и никто не узнает, что у вашего приложения на бэке 1с))

Надеюсь, кому-то эта статья окажется полезной. Сеньоров девопсов прошу в комментарии, может, у кого найдется более элегантное решение)

Публикация Open Server Panel OSPanel Администрирование Web-сервисы HTTP-сервисы Веб Apache HTTP

См. также

Администрирование веб-серверов Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Узбекистан Абонемент ($m)

Внешняя обработка, подходит для любых конфигураций. Поддерживает apache и iis! Публикуйте базы легко и просто!

1 стартмани

22.11.2024    1433    30    Rafael-87    34    

31

Администрирование веб-серверов Сервера Системный администратор Программист Абонемент ($m)

WEB приложение для управления сеансами сервера 1С, имеет адаптивный web интерфейс. Возможности: удаление сеансов; завершение rphost процессов; запуск службы 1С сервера (если остановлена). Используется авторизация BasicAuth с защитой от брутфорса. Поддерживает работу по http https протоколам.

1 стартмани

08.11.2024    554    7    gortrex    2    

3

Администрирование веб-серверов Бесплатно (free)

Ошибка 1С веб-сервис IIS. Ошибка доступа к файлу...183(0x000000B7) Невозможно создать файл, так как он уже существует.

27.09.2024    731    California_Dreaming    0    

3

Администрирование веб-серверов Системный администратор Бесплатно (free)

В материале описан порядок действий по настройке Apache для работы по защищенному протоколу HTTPS c 1С на операционной системе РедОС с выпуском сертификата SSL.

09.05.2024    2527    artemusII    1    

10

Администрирование веб-серверов Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Статья описывает алгоритм установки, настройки и "сопряжения" с 1С веб-сервера Apache на РедОС. Статья, может, будет полезна тем, кто ищет в сети работающие алгоритмы установки веб-сервера и публикации на нем информационных баз 1С в контуре операционной системы РедОС. Помимо этого в статье рассмотрены некоторые спорные моменты, для анализа которых не удалось найти достаточно информации в сети.

25.04.2024    3360    artemusII    8    

18

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL, 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    1495    1    0    

9

Сервера Администрирование веб-серверов Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробная пошаговая инструкция (как делал я) установки Сервера взаимодействия версия 22.0.26 на Windows Server 2022. Установка собственного объектного хранилище с помощью системы MinIO (https://min.io/). Настройка Сервера взаимодействия для обмена файлами в сообщениях.

1 стартмани

07.04.2023    21008    VPanin56    54    

77
Оставьте свое сообщение