Как настроить веб-сервис 1С, если база и веб-сервер находятся на разных серверах?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Многие администраторы задаются вопросом: обязательно ли размещать веб-сервер и сервер приложений 1С на одной машине для работы веб-сервисов? Практика показывает, что это не так. Разнесение компонентов на разные серверы — это стандартная практика для обеспечения масштабируемости и безопасности. Давайте разберем, как правильно настроить эту связку и на что обратить внимание при возникновении ошибок.

Понимание архитектуры взаимодействия

Важно понимать, что веб-сервер (IIS или Apache) в архитектуре 1С выступает лишь в роли «посредника». Он принимает HTTP-запросы от клиентов и через специальные модули (ISAPI для IIS или модули Apache) передает их серверу 1С. Физически база данных может находиться на одном сервере с кластером 1С, а веб-сервер — на другом. Ключевым условием является наличие стабильного сетевого соединения между сервером с веб-сервером и сервером приложений 1С.

Основные шаги по настройке публикации

Для корректной работы системы выполним следующие шаги:

  1. Установка ПО: Убедитесь, что платформа 1С:Предприятие установлена как на сервере, где крутится база данных, так и на сервере, где развернут веб-сервер. Для публикации веб-сервисов на веб-сервере должны быть установлены соответствующие расширения.
  2. Разрядность компонентов: Это критический момент. Если вы используете 64-битную версию веб-сервера (например, 64-битный IIS), то и установленная платформа 1С на этом же сервере должна быть 64-битной. Смешение 32-битных и 64-битных платформ на одном хосте часто приводит к ошибкам типа 0x800700c1, так как система путается в библиотеках расширений.
  3. Права доступа: Пользователь, от имени которого работает пул приложений веб-сервера (в IIS это часто ApplicationPoolIdentity), должен иметь права на чтение файлов конфигурации веб-сервера и прав на запуск библиотек 1С.
  4. Публикация: Выполните публикацию через конфигуратор, запустив его «от имени администратора». Если автоматическая публикация не проходит, воспользуйтесь утилитой командной строки webinst, которая позволяет более гибко указать параметры подключения к серверу и базе.

Устранение ошибок и типичные проблемы

Если вы сталкиваетесь с ошибкой 500 (Internal Server Error) или ошибками соединения, проанализируйте следующие факторы:

Использование файлов конфигурации

При ручной настройке веб-сервера вы можете столкнуться с необходимостью правки файла default.vrd. Этот файл содержит настройки подключения к информационной базе. Пример содержимого файла для связи с удаленным сервером:


<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       base="/my_ws"
       ib="Srvr="AddressOf1CServer";Ref="NameOfBase";">
    <ws enable="true"/>
</point>

В параметре ib указывается строка соединения с сервером 1С. Проверьте, что имя сервера или IP-адрес доступны по сети с машины, где установлен веб-сервер. Вы можете проверить доступность сервера 1С с помощью команды telnet или Test-NetConnection (в PowerShell) по порту 1540.

Заключение

Разнесение веб-сервера и сервера приложений 1С — рабочая схема, не требующая «допиливания» конфигурации 1С. Основная сложность заключается в корректной настройке системного окружения веб-сервера, соблюдении разрядности и прав доступа. Рекомендуем всегда начинать диагностику с проверки журналов событий Windows (в случае IIS), которые часто содержат детальную информацию о том, какой именно модуль (IsapiModule или ManagedPipelineHandler) вызвал ошибку.

← На главную