Оглавление

VRD файлы — Virtual Resource Directory

Загальна інформація

VRD (Virtual Resource Directory) — это конфигурационный файл 1С:Предприятие, который описывает параметры публикации информационной базы через веб-сервер.

Назначение

Файл .vrd является мостом между веб-сервером и 1С. Он содержит:

  • Строку подключения к информационной базе
  • Параметры пула рабочих процессов
  • Настройки безопасности и таймауты
  • Правила обработки HTTP-запросов

Расположение

Типичное расположение файла:

/var/www/olvita-ws/default.vrd
Примечание: Имя файла может быть произвольным, но обычно используется default.vrd.

Создание VRD файла

VRD файл автоматически генерируется утилитой webinst при публикации:

/opt/1C/v8.3/x86_64/webinst -publish \
  -dir "/var/www/olvita-ws" \
  -connstr 'File="/home/anton/Documents/1С/OlvitaDB";Usr="Admin";Pwd="acdc"' \
  -wsdir "olvita"

Структура файла

Пример типичного VRD файла:

# Строка подключения к информационной базе
connect-string = File='/home/anton/Documents/1С/OlvitaDB';Usr='Admin';Pwd='acdc';

# Пул процессов
pool-size = 3                    # Количество рабочих процессов
pool-timeout = 300               # Таймаут неактивного процесса (сек)

# Таймауты соединений
request-timeout = 120            # Таймаут обработки запроса (сек)
session-timeout = 1200           # Таймаут сессии (сек)

# Безопасность
authentication = basic           # Тип аутентификации (basic/digest/none)

# Логирование
debug = 0                        # Уровень детализации логов (0-3)

# Кодировка
charset = utf-8                  # Кодировка по умолчанию

Основные параметры

connect-string

Строка подключения к базе данных 1С.

  • Содержит путь к базе, пользователя и пароль
  • Критично: без этого параметра публикация не работает
  • Формат для файловой базы: File='путь';Usr='пользователь';Pwd='пароль';
  • Формат для серверной базы: Srvr='сервер';Ref='база';Usr='пользователь';Pwd='пароль';

pool-size

Количество одновременно работающих процессов 1С.

  • Рекомендуется: 2-5 для небольших нагрузок
  • Каждый процесс потребляет ~100-200 МБ оперативной памяти
  • Значение по умолчанию: 3

pool-timeout

Время жизни неактивного процесса в секундах.

  • После истечения времени процесс автоматически завершается
  • Освобождает ресурсы при простое
  • Рекомендуемое значение: 300 (5 минут)

request-timeout

Максимальное время обработки одного HTTP-запроса в секундах.

  • При превышении времени запрос прерывается с ошибкой
  • Защита от зависших запросов
  • Рекомендуемое значение: 120 (2 минуты)

session-timeout

Время жизни HTTP-сессии пользователя в секундах.

  • После истечения времени сессия сбрасывается
  • Влияет на сохранение состояния между запросами
  • Рекомендуемое значение: 1200 (20 минут)

authentication

Тип аутентификации для веб-сервиса.

  • basic — базовая HTTP-аутентификация
  • digest — более безопасная digest-аутентификация
  • none — без аутентификации (не рекомендуется для production)

debug

Уровень детализации логов (0-3).

  • 0 — минимальное логирование
  • 1 — стандартное логирование
  • 2 — расширенное логирование
  • 3 — максимальная детализация (для отладки)

Как работает VRD

  1. Шаг 1: Apache получает HTTP-запрос → /olvita/hs/odoo/...
  2. Шаг 2: Модуль mod_wsap24 читает VRD файл → /var/www/olvita-ws/default.vrd
  3. Шаг 3: Извлекает строку подключения connect-string
  4. Шаг 4: Ищет свободный процесс из пула pool-size
  5. Шаг 5: Передает запрос в рабочий процесс 1С
  6. Шаг 6: Получает ответ от 1С и возвращает клиенту

Ручное редактирование

VRD файл можно редактировать вручную в текстовом редакторе:

sudo nano /var/www/olvita-ws/default.vrd
Важно: После любых изменений в VRD файле необходимо перезапустить веб-сервер Apache:
sudo systemctl restart apache2

Проверка конфигурации

Для проверки корректности VRD файла используйте следующие команды:

Проверка синтаксиса Apache

sudo apache2ctl configtest

Просмотр статуса Apache

sudo systemctl status apache2

Просмотр логов ошибок

sudo tail -f /var/log/apache2/error.log

Типичные проблемы и решения

Проблема: 500 Internal Server Error

Причина: Неверная строка подключения или база недоступна.

Решение:

  • Проверьте путь к базе в параметре connect-string
  • Убедитесь, что база существует и доступна для чтения
  • Проверьте права доступа к файлу базы

Проблема: Таймаут запроса

Причина: Запрос выполняется дольше, чем request-timeout.

Решение:

  • Увеличьте значение request-timeout
  • Оптимизируйте код обработки запроса в 1С

Проблема: Нехватка рабочих процессов

Причина: Все процессы из пула заняты.

Решение:

  • Увеличьте значение pool-size
  • Убедитесь, что есть достаточно оперативной памяти

Безопасность

Критически важно: VRD файл содержит пароль в открытом виде!
  • Ограничьте права доступа к файлу: chmod 600 /var/www/olvita-ws/default.vrd
  • Установите владельца файла: chown www-data:www-data /var/www/olvita-ws/default.vrd
  • Не храните VRD файлы в публичных репозиториях
  • Используйте отдельного пользователя 1С с минимальными правами

Пример настройки прав доступа

# Установка прав доступа
sudo chmod 600 /var/www/olvita-ws/default.vrd
sudo chown www-data:www-data /var/www/olvita-ws/default.vrd

# Проверка прав
ls -la /var/www/olvita-ws/default.vrd

Рекомендации по настройке

Параметр Разработка Тестирование Production
pool-size 2 3-5 5-10
pool-timeout 600 300 300
request-timeout 300 120 60-120
session-timeout 3600 1800 1200
debug 3 2 0-1

Связанные файлы и команды

Конфигурация Apache

/etc/apache2/sites-available/olvita.conf

Логи Apache

/var/log/apache2/error.log
/var/log/apache2/access.log

Перезагрузка конфигурации

# Проверка конфигурации
sudo apache2ctl configtest

# Перезагрузка Apache
sudo systemctl reload apache2

# Полный перезапуск Apache
sudo systemctl restart apache2

Диагностика

Проверка процессов 1С

# Просмотр запущенных процессов 1С
ps aux | grep ragent

# Убить зависший процесс
sudo kill -9 [PID]

Мониторинг использования памяти

# Память, используемая процессами 1С
ps aux | grep ragent | awk '{sum+=$6} END {print "Total memory: " sum/1024 " MB"}'

Документация актуальна для 1С:Предприятие 8.3. Версия 2025-10-03.


Оглавление Платформа 8.3.13.1809