Где посмотреть адрес, порт и имя публикации веб-сервера 1С

· 9 мин

Содержание

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

Рабочий адрес обычно выглядит так: http://192.168.1.10/buh или https://1c.firma.ru/buh. Узнать его можно за пять минут: открыть публикацию в Конфигураторе, прочитать настройки IIS или Apache, а потом проверить, что порт действительно слушается. Ниже все способы, от самого простого к самому надёжному.

Из чего состоит адрес публикации

Полный адрес собирается по схеме протокол://узел:порт/имя_публикации. Порт после двоеточия можно не писать, если он стандартный для протокола.

ЧастьПримерОткуда берётся
Протоколhttp или httpsЗависит от того, настроен ли сертификат на веб-сервере
Узелsrv-web, 1c.firma.ru, 192.168.1.10Имя или IP машины, на которой стоит веб-сервер
Порт80, 443, 8080Привязка сайта в IIS или директива Listen в Apache
Имя публикацииbuh, zup_testПоле «Имя» при публикации базы

Для http по умолчанию подразумевается порт 80, для https — 443. Если веб-сервер слушает 8080, порт в адресе обязателен: http://srv-web:8080/buh.

Веб-сервер и сервер 1С — это разные вещи. Веб-сервер (IIS, Apache) принимает запрос браузера или тонкого клиента и передаёт его серверу 1С через модуль расширения. Сервер 1С в это время сидит на своих портах (1540, 1541 и диапазон рабочих процессов). Эти порты в браузерный адрес не попадают.

Самый быстрый способ: окно публикации в Конфигураторе

Если публикацию делали штатно, адрес лежит прямо в окне, где её создавали.

  1. Запустите Конфигуратор нужной базы.
  2. Откройте Администрирование → Публикация на веб-сервере.
  3. Посмотрите поле «Каталог» — это папка с файлом default.vrd.
  4. Поле «Имя» — это и есть последняя часть адреса.
  5. Узел и порт определяются веб-сервером, а не этим окном. Для них переходите к следующим разделам.

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

Что внутри default.vrd

Откройте файл блокнотом. В нём есть строка с атрибутом base и строка подключения к кластеру в атрибуте ib:

<point base="/buh" ib="Srvr=&quot;srv-1c&quot;;Ref=&quot;buh&quot;;"/>

Здесь /buh — имя публикации, srv-1c — сервер 1С, buh — имя базы в кластере. Это не адрес веб-сервера, но именно по этой строке видно, какой кластер и какую базу обслуживает публикация.

Для файловой базы вместо Srvr и Ref будет File="C:\bases\buh";.

Адрес в консоли администрирования серверов 1С

Консоль нужна не для самого веб-адреса, а для двух вещей. Она показывает имя машины сервера 1С и порт кластера. Эти значения попадают в default.vrd при публикации.

  • Имя сервера — верхний узел дерева в левой части консоли.
  • Порт главного менеджера кластера — по умолчанию 1541, агента сервера — 1540.
  • Рабочие процессы получают порты из диапазона 1560–1591.

Если консоль не подключается, проверьте, зарегистрирована ли библиотека radmin.dll. Это частая причина пустого списка серверов на свежей машине. Перерегистрация делается командой regsvr32 от администратора, путь к файлу — в каталоге bin установленной платформы.

Консоль подключается к серверу 1С, а не к веб-серверу. Если веб-сервер стоит на другой машине, имя узла для браузера придётся искать там.

Настройки веб-сервера: IIS и Apache

Здесь находится вторая и третья части адреса — узел и порт.

IIS

  1. На сервере запустите inetmgr (Диспетчер служб IIS).
  2. Раскройте имя сервера и перейдите в «Сайты».
  3. Выберите сайт, под которым опубликована база. Чаще всего это Default Web Site.
  4. В правой панели нажмите «Привязки».
  5. В списке будут тип (http/https), IP-адрес, порт и имя узла.

Если в колонке «Имя узла» заполнено значение, браузер должен приходить именно по нему. Заход по голому IP в этом случае даст 404 или чужой сайт.

Имя публикации видно в дереве сайта: база появляется как приложение под сайтом. Его имя и есть последний сегмент адреса.

Apache

Apache хранит настройки в текстовых файлах. Нужные места:

  • httpd.conf в каталоге conf установленного Apache.
  • Директива Listen задаёт порт, например Listen 80 или Listen 8080.
  • Директива ServerName задаёт имя узла.
  • Блок публикации 1С: Alias "/buh" "C:/inetpub/wwwroot/buh/" и далее блок <Directory> с обработчиком 1С.

Команда поиска по файлу в PowerShell:

Select-String -Path "C:\Apache24\conf\httpd.conf" -Pattern "^Listen|^ServerName|Alias"

Путь замените на свой. Каталог установки у каждого свой, универсального нет.

Nginx и Tomcat

Штатная публикация из Конфигуратора поддерживает IIS и Apache. Nginx используют как обратный прокси перед Apache или IIS, и тогда внешний адрес определяется его настройками: директивами server_name, listen и proxy_pass. Tomcat для публикации баз 1С не применяется, но на машине он может занимать порт 8080 и мешать запуску Apache на этом же порту.

Если перед веб-сервером стоит прокси, у пользователей и у администратора будут разные адреса. Внешний адрес берите из конфигурации прокси, внутренний — из IIS или Apache.

Какой порт реально слушается: netstat и ss

Настройки в файлах могут расходиться с жизнью. Служба не стартовала, порт занят чужой программой, привязка поменялась после обновления. Проверка делается одной командой.

На Windows:

netstat -ano | findstr LISTENING

В выводе ищите строки с :80, :443, :8080. Последняя колонка — идентификатор процесса. Узнать, чей он:

tasklist /fi "PID eq 4321"

Если на порту 80 сидит System или httpd.exe, всё штатно. Если там чужая программа, веб-сервер 1С на этот порт не встанет.

На Linux:

ss -tlnp | grep -E ':80|:443|:8080'

Адрес 0.0.0.0:80 или [::]:80 значит, что порт слушается на всех интерфейсах. Адрес 127.0.0.1:80 значит, что веб-сервер доступен только с самой машины, снаружи его не откроют.

Чтобы быстро проверить порты сервера 1С, ищите 1540 и 1541. Если их нет, служба «Агент сервера 1С:Предприятия» не запущена.

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

Нашли кандидата — проверьте его. Достаточно одной минуты.

  1. С самого сервера откройте в браузере http://localhost/имя_публикации. Если работает, веб-сервер и публикация в порядке.
  2. С рабочего места откройте http://имя_узла/имя_публикации. Если здесь тишина, виноваты сеть, DNS или брандмауэр.
  3. Если в браузер возвращается страница с ошибкой, прочтите её текст. Он обычно говорит, что именно не так: нет базы, нет лицензии, нет модуля.

Проверка порта без браузера, PowerShell:

Test-NetConnection -ComputerName srv-web -Port 80

Строка TcpTestSucceeded : True значит, что до порта есть дорога. False значит, что путь перекрыт или никто не слушает.

Проверка заголовков ответа:

curl -I http://srv-web/buh

Код 200 — страница отдаётся, 401 — требуется авторизация, 404 — публикации с таким именем нет, 500 — веб-сервер запустился, но не смог связаться с кластером.

Определить IP машины: на сервере выполните ipconfig, в строке «IPv4-адрес» нужная сеть. Имя машины покажет hostname.

Брандмауэр и сетевая доступность

Порт слушается, а извне не открывается? Проверьте три места по очереди.

  1. Брандмауэр Windows на сервере. Правило для входящих подключений на нужный порт. Пример добавления правила от администратора:
netsh advfirewall firewall add rule name="1C HTTP 80" dir=in action=allow protocol=TCP localport=80
  1. Сетевой экран между сегментами. Если сервер в отдельной подсети или в облаке, откройте порт на роутере или в группе безопасности.
  2. Привязка на 127.0.0.1. Правило брандмауэра не поможет, если веб-сервер слушает только локальный интерфейс. Это видно по netstat.

Для работы тонкого клиента через веб порты 1540 и 1560–1591 наружу открывать не нужно. Клиент ходит на веб-сервер, а тот уже общается с кластером внутри сети.

Таблица портов, которые встречаются при таких проверках:

ПортНазначение
80HTTP, публикация без шифрования
443HTTPS, публикация с сертификатом
1540Агент сервера 1С
1541Главный менеджер кластера
1545Сервер администрирования (RAS), если он запущен
1560–1591Рабочие процессы кластера
8080Типичный запасной порт веб-сервера или прокси

Если адрес не открывается

Типовые симптомы и что с ними делать:

Диагностика: выберите симптом

Как использовать найденный адрес

Когда адрес известен, его применяют двумя способами.

  • В браузере. Веб-клиент открывается по полному адресу публикации.
  • В тонком клиенте. В окне запуска нажмите «Добавить», выберите «Добавить в список существующую информационную базу», затем укажите «На веб-сервере» и впишите полный адрес публикации. Такая запись хранится в файле списка баз ibases.v8i в виде строки Connect=Ws="http://srv-web/buh";.

Для порядка запишите адрес в документ о конфигурации сервера: узел, порт, имя публикации, дата последней смены. Через год это сэкономит поиск по конфигам.

Проверка перед тем, как отдать адрес пользователям
Выполнено: 0 / 6

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

Можно ли узнать адрес веб-сервера 1С из самой базы?
Из пользовательского режима адрес публикации не виден. Если вы работаете в веб-клиенте, адрес находится в строке браузера. Из тонкого клиента его можно посмотреть в списке баз в свойствах записи.
Чем адрес веб-сервера отличается от адреса сервера 1С?
Веб-сервер принимает запросы по http или https и нужен браузеру и веб-сервисам. Сервер 1С слушает порты 1540, 1541 и диапазон рабочих процессов и принимает подключения тонкого клиента напрямую. Это две разные машины или две разные службы на одной машине.
Почему адрес работает по IP, но не работает по имени?
Значит, у узла нет записи в DNS либо в файле hosts клиента. Проверьте разрешение командой nslookup имя_узла. Если DNS не отвечает, адрес можно временно использовать по IP.
Что делать, если на порту 80 уже сидит другая программа?
Либо освободить порт, либо перевести веб-сервер на другой, например 8080, и изменить привязку сайта в IIS или директиву Listen в Apache. После смены порта обновите адреса у пользователей.
Нужно ли указывать порт 443 в адресе https?
Нет, для https он подразумевается сам. Указывать порт нужно только когда он нестандартный, например https://1c.firma.ru:8443/buh.