Публикация на 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С 8.3 Россия Абонемент ($m)

Публикация http-сервиса через Apache под Windows, с использованием ssl клиентского сертификата p12. База реализующая обработку запросов GET, POST с получением и передачей JSON

1 стартмани

23.01.2026    620    ЕСТЬNULL    0    

5

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

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

1 стартмани

03.01.2026    3198    1    shooshpanius    0    

7

Администрирование веб-серверов Системный администратор Программист 1С 8.3 1С:Розница 2 Абонемент ($m)

Третий тонкий клиент Розница 2.3 (более двух сеансов) зависает сразу при открытии 3-го сеанса (файловая база + IIS + Тонкие клиенты) и виснут все открытые сессии. Быстрое решение на скриншотах ;)

1 стартмани

03.01.2026    1260    vs12345    11    

7

Инструменты администратора БД Администрирование СУБД Администрирование веб-серверов Администрирование 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 1.х 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 1С:Документооборот 1С-КАМИН: Зарплата. Версия 5.0 1С:ТОИР Управление ремонтами и обслуживанием оборудования Платные (руб)

Обработка предназначена для компаний, использующих типовые конфигурации 1С (УТ, УНФ, Розница, ERP и др.), для которых необходим контроль ошибок, для того чтобы избежать поломки.

8540 руб.

23.12.2025    466    0    0    

2

Администрирование веб-серверов Linux Системный администратор Программист 1С:Предприятие 8 Бесплатно (free)

Проблема: При переходе с Windows на Linux многие сталкиваются с затруднениями при настройке аутентификации ОС в веб-клиенте 1С через Apache 2.4 (Debian). Решение: Команда Magnit Tech (Центр экспертизы 1С и Сопровождение 1C) разработала готовую инструкцию по настройке веб-клиента 1С на Debian 12 с поддержкой как Windows, так и Linux-серверов. Экономьте время — внедряйте проверенное!

25.07.2025    10462    biryukmikh    64    

30

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

Сервер поиска по метаданным и поиска по коду, Сервер экспорта и поиска по документации, Сервер синтаксической проверки кода

17.06.2025    17039    0    Infostart    20    

113

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

Как проксировать запросы извне на localhost при помощи IIS.

15.01.2025    3714    Miroshh    1    

4

Администрирование веб-серверов Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия Узбекистан Абонемент ($m)

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

1 стартмани

22.11.2024    4663    47    Rafael-87    36    

35
Для отправки сообщения требуется регистрация/авторизация