К статье
Практический материал

Администрирование · 12 мин

Как узнать, какой веб-сервер использует 1С

Как узнать, какой веб-сервер используется для публикации 1С: проверка конфигурации, служб, HTTP-заголовков и журналов. Пошаговые инструкции для Apache и IIS.

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

Определить веб-сервер можно несколькими независимыми способами: по конфигурационным файлам публикации, по работающим процессам и службам, по HTTP-заголовкам ответа и по административным консолям. Надёжнее всего комбинировать минимум два метода, потому что на одном сервере могут одновременно стоять и Apache, и IIS, при этом активна только одна публикация.

Ниже разобраны практические способы проверки для Windows и Linux, признаки каждого веб-сервера, типичные ошибки при диагностике и действия в спорных ситуациях — например, когда публикация работает через прокси или порт занят неожиданным процессом.

Где 1С хранит информацию о веб-сервере и публикации

При публикации базы через конфигуратор (Администрирование → Публикация на веб-сервере) 1С создаёт файл default.vrd в каталоге публикации. Этот файл описывает параметры подключения к информационной базе, но сам по себе не указывает тип веб-сервера — он общий для Apache и IIS. Однако его расположение подсказывает, какой веб-сервер настроен.

Для Apache каталог публикации обычно прописан в конфигурации виртуального хоста (файлы httpd.conf, apache2.conf или отдельные файлы в sites-enabled). Для IIS каталог привязан к виртуальному каталогу или приложению в консоли диспетчера служб IIS. Найдя, какой из веб-серверов ссылается на каталог с default.vrd, вы однозначно определяете обслуживающий сервер.

Также полезно проверить реестр публикаций: на Windows записи о публикациях могут находиться в ветке реестра, связанной с 1С, а в журнале событий Windows фиксируются ошибки регистрации адаптера веб-сервисов. Эти следы помогают восстановить картину, если сам веб-сервер уже остановлен.

Способ 1. Проверка по HTTP-заголовкам ответа

Самый быстрый способ, не требующий доступа к серверу, — посмотреть заголовок Server в HTTP-ответе. Для этого достаточно выполнить запрос к адресу публикации, например http://server/base, и изучить служебные заголовки. Apache обычно отвечает строкой вида Server: Apache/2.4.x, IIS — Server: Microsoft-IIS/10.0.

Посмотреть заголовки можно в браузере: откройте инструменты разработчика (клавиша F12), перейдите на вкладку Network, обновите страницу и выберите первый запрос — в разделе Response Headers будет нужная строка. Альтернатива — команда из терминала.

bash
curl -I http://server/base

Учтите ограничение метода: заголовок Server можно отключить или изменить в настройках безопасности, а если перед веб-сервером стоит прокси (nginx, балансировщик), вы увидите заголовок прокси, а не реального сервера публикации. Поэтому этот способ — первый шаг, а не окончательный вердикт.

Способ 2. Определение по процессам и службам

На сервере, где развёрнута публикация, тип веб-сервера виден по запущенным процессам. Это самый надёжный метод, если у вас есть доступ к консоли сервера.

Проверка на Windows

Откройте диспетчер задач или выполните в командной строке tasklist | findstr /i "httpd w3wp". Процесс httpd.exe означает Apache, процессы w3wp.exe — рабочие процессы IIS. Дополнительно проверьте службы: служба W3SVC (Служба веб-публикаций) указывает на IIS, служба с именем вида Apache2.4 — на Apache, установленный как служба Windows.

Проверка на Linux

Выполните systemctl list-units --type=service | grep -Ei "apache|httpd|nginx" или ps aux | grep -E "apache|httpd". Активный юнит apache2 (Debian/Ubuntu) или httpd (CentOS/RHEL) подтверждает Apache. Заодно проверьте, какой процесс слушает порт 80 или 443: ss -tlnp | grep -E ":80|:443" — в выводе будет имя процесса-владельца порта.

Порядок действий на сервере
  1. 1
    Откройте терминал или диспетчер задач на сервере публикации
  2. 2
    Найдите процессы httpd, apache2 или w3wp
  3. 3
    Проверьте, какой процесс занимает порты 80 и 443
  4. 4
    Сопоставьте найденный процесс с каталогом публикации 1С
  5. 5
    Откройте конфигурацию найденного веб-сервера и убедитесь, что в ней указан каталог с default.vrd

Способ 3. Проверка конфигурации Apache и IIS

Если процессы найдены, следующий шаг — убедиться, что именно этот веб-сервер обслуживает публикацию 1С, а не просто установлен на машине. Для Apache откройте основной конфигурационный файл и поищите директивы, добавляемые публикацией 1С: загрузку модуля wsap24.dll (или mod_1c на Linux) и блок <Directory> с путём к каталогу публикации. Утилита публикации webinst от 1С прописывает эти строки автоматически.

Для IIS откройте Диспетчер служб IIS (inetmgr), разверните дерево сайтов и найдите приложение или виртуальный каталог с именем вашей базы. В его свойствах будет физический путь к каталогу с default.vrd, а в сопоставлениях обработчиков — обработчик ISAPI или модуль 1С. Наличие такого приложения — прямое доказательство, что публикация обслуживается IIS.

Если каталог публикации известен, но ни один веб-сервер на него не ссылается, публикация, скорее всего, неактивна: базу могли перенести или перенастроить. Тогда рабочий адрес доступа к базе нужно уточнять у пользователей или в настройках клиентских подключений.

Способ 4. Косвенные признаки и журналы

Когда прямой доступ к серверу ограничен, помогают косвенные признаки. Страница ошибки веб-сервера различается: IIS показывает характерные страницы с кодами ошибок и оформлением Microsoft, Apache — минималистичное сообщение с подписью сервера внизу. Вызовите заведомо несуществующий адрес внутри публикации и посмотрите на оформление ошибки 404.

Журналы доступа тоже различаются по расположению: Apache пишет access.log и error.log в каталоге logs своей установки или в /var/log/apache2 (либо /var/log/httpd), IIS — в C:\inetpub\logs\LogFiles с подкаталогами по идентификаторам сайтов. Формат строк и имена полей в этих журналах разные, что позволяет определить сервер даже по одному фрагменту лога.

Ещё один признак — расширения обработчиков в адресах: для IIS в конфигурации публикации нередко фигурируют настройки пулов приложений, а в журналах событий Windows источники с именами, связанными с IIS. Для Apache на Windows ошибки модуля 1С попадают в error.log Apache.

Контрольные точки

Как проверить результат

Заголовок Server в ответе
Норма

Указан Apache или Microsoft-IIS и совпадает с процессами на сервере

Тревожный признак

Заголовок отсутствует, изменён или показывает прокси — нужен другой метод

Процесс, занимающий порт публикации
Норма

Порт 80/443 слушает httpd, apache2 или w3wp

Тревожный признак

Порт занят неизвестным процессом или свободен при «работающей» публикации

Конфигурация веб-сервера
Норма

В конфиге есть путь к каталогу с default.vrd и модуль 1С

Тревожный признак

Каталог публикации нигде не упоминается — публикация неактивна

Что делать, если перед 1С стоит прокси

В крупных установках публикацию 1С часто прячут за nginx или другим обратным прокси: прокси принимает запросы на 443 порт, терминирует TLS и передаёт трафик внутреннему Apache или IIS. В этом случае заголовок Server покажет nginx, а реальный сервер публикации останется скрытым.

Чтобы докопаться до истины, изучите конфигурацию прокси: директива proxy_pass в nginx укажет внутренний адрес и порт бэкенда. Затем перейдите на сервер бэкенда и определите веб-сервер там по процессам и конфигурации, как описано выше. Дополнительно помогут заголовки X-Forwarded-For и Via, которые прокси добавляет к запросам.

Маршрут решения

Как выбрать действие

В заголовке Server указан nginx, но база 1С явно работаетИщите proxy_pass в конфигурации nginx и проверяйте веб-сервер на сервере бэкенда
На сервере запущены и Apache, и IISОпределяйте активный сервер по тому, кто слушает порт из адреса публикации
Процессов веб-сервера нет, но пользователи работаютПубликация находится на другой машине — уточните реальный адрес сервера в настройках подключения
Нужно только перезапустить публикациюСначала определите сервер, затем перезапускайте соответствующую службу: apache2/httpd или IIS (iisreset)

Типичные ошибки и ограничения

Первая ошибка — судить о веб-сервере только по установленным программам. Apache может быть установлен «про запас» и не запущен, а фактическую публикацию обслуживает IIS, или наоборот. Всегда проверяйте именно активные процессы и занятые порты.

Вторая ошибка — доверять только заголовку Server. Его легко переопределить, а прокси подменяет его полностью. Третья — путать веб-сервер публикации с сервером 1С: агент сервера 1С (ragent, rphost) — это отдельная компонента клиент-серверной архитектуры, она не является веб-сервером и не заменяет Apache или IIS.

Ограничение самостоятельной диагностики: на продуктивном сервере не перезапускайте службы «для проверки» — это оборвёт сессии пользователей. Все описанные методы пассивны и безопасны: просмотр процессов, заголовков, конфигураций и журналов ничего не нарушает. Любые изменения конфигурации делайте только с резервной копией файлов.

Типичные ошибки
01
Оценка по списку установленных программ: установленный веб-сервер не обязан быть активным, проверяйте процессы и порты
02
Доверие только заголовку Server: он отключается в настройках и подменяется прокси, что вводит в заблуждение
03
Смешение агента сервера 1С с веб-сервером: rphost не обслуживает HTTP-публикацию, это разные компоненты
04
Перезапуск служб на продуктиве ради проверки: это обрывает сессии пользователей и может привести к потере несохранённых данных

Итог

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

Итог

Что важно запомнить

Веб-сервер 1С определяется по трём опорам: HTTP-заголовок Server, активные процессы и порты (httpd/apache2 или w3wp), конфигурация с путём к default.vrd. Прокси и отключённые заголовки требуют проверки на самом сервере, а не извне.

Частые вопросы

Можно ли узнать веб-сервер 1С без доступа к серверу?

Да, частично: заголовок Server в HTTP-ответе и внешний вид страниц ошибок дают первую подсказку. Но если заголовки скрыты или работает прокси, без доступа к серверу достоверно определить веб-сервер нельзя — потребуется помощь администратора сервера.

Какой веб-сервер чаще используют с 1С — Apache или IIS?

Оба варианта поддерживаются платформой. На Windows нередко выбирают IIS из-за интеграции с системой, Apache ценят за кроссплатформенность — одинаковую настройку на Windows и Linux. Выбор зависит от инфраструктуры и опыта администратора, а не от ограничений 1С.

Адрес базы открывается в браузере — значит ли это, что веб-сервер на этом же компьютере?

Нет. Адрес указывает на сервер публикации, который может быть отдельной машиной или даже прокси перед реальным веб-сервером. По IP-адресу или имени хоста в адресе определите, к какой машине идёт подключение, и проверяйте процессы именно там.

Что делать, если порт 80 занят непонятным процессом?

Определите владельца порта командой netstat или ss с выводом PID, затем найдите процесс по этому идентификатору в диспетчере задач или ps. Это может быть другой веб-сервер, прокси или стороннее приложение — не завершайте процесс, пока не выясните его назначение.

Меняется ли веб-сервер при обновлении платформы 1С?

Нет, обновление платформы не меняет тип веб-сервера. Но после обновления может потребоваться повторная регистрация модуля веб-расширения (утилитой webinst) или обновление публикации, иначе база перестанет открываться через браузер при работающем веб-сервере.

Как понять, что публикация 1С вообще не настроена?

Признаки: адрес публикации не отвечает или отдаёт ошибку, каталога с default.vrd нет ни на одном сервере, в конфигурациях Apache и IIS нет ссылок на 1С. В этом случае пользователи работают через тонкий или толстый клиент напрямую, а веб-доступ нужно публиковать заново через конфигуратор.