Где посмотреть адрес, порт и имя публикации веб-сервера 1С
Содержание
Адрес веб-сервера 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 и диапазон рабочих процессов). Эти порты в браузерный адрес не попадают.
Самый быстрый способ: окно публикации в Конфигураторе
Если публикацию делали штатно, адрес лежит прямо в окне, где её создавали.
- Запустите Конфигуратор нужной базы.
- Откройте
Администрирование → Публикация на веб-сервере. - Посмотрите поле «Каталог» — это папка с файлом
default.vrd. - Поле «Имя» — это и есть последняя часть адреса.
- Узел и порт определяются веб-сервером, а не этим окном. Для них переходите к следующим разделам.
Если окно показывает пустые поля, база, скорее всего, опубликована вручную или другим пользователем с другой учётной записью. Ищите каталог публикации на диске веб-сервера: в нём лежит default.vrd.
Что внутри default.vrd
Откройте файл блокнотом. В нём есть строка с атрибутом base и строка подключения к кластеру в атрибуте ib:
<point base="/buh" ib="Srvr="srv-1c";Ref="buh";"/>
Здесь /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
- На сервере запустите
inetmgr(Диспетчер служб IIS). - Раскройте имя сервера и перейдите в «Сайты».
- Выберите сайт, под которым опубликована база. Чаще всего это Default Web Site.
- В правой панели нажмите «Привязки».
- В списке будут тип (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С:Предприятия» не запущена.
Проверка адреса из браузера и из командной строки
Нашли кандидата — проверьте его. Достаточно одной минуты.
- С самого сервера откройте в браузере
http://localhost/имя_публикации. Если работает, веб-сервер и публикация в порядке. - С рабочего места откройте
http://имя_узла/имя_публикации. Если здесь тишина, виноваты сеть, DNS или брандмауэр. - Если в браузер возвращается страница с ошибкой, прочтите её текст. Он обычно говорит, что именно не так: нет базы, нет лицензии, нет модуля.
Проверка порта без браузера, 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.
Брандмауэр и сетевая доступность
Порт слушается, а извне не открывается? Проверьте три места по очереди.
- Брандмауэр Windows на сервере. Правило для входящих подключений на нужный порт. Пример добавления правила от администратора:
netsh advfirewall firewall add rule name="1C HTTP 80" dir=in action=allow protocol=TCP localport=80
- Сетевой экран между сегментами. Если сервер в отдельной подсети или в облаке, откройте порт на роутере или в группе безопасности.
- Привязка на 127.0.0.1. Правило брандмауэра не поможет, если веб-сервер слушает только локальный интерфейс. Это видно по
netstat.
Для работы тонкого клиента через веб порты 1540 и 1560–1591 наружу открывать не нужно. Клиент ходит на веб-сервер, а тот уже общается с кластером внутри сети.
Таблица портов, которые встречаются при таких проверках:
| Порт | Назначение |
|---|---|
| 80 | HTTP, публикация без шифрования |
| 443 | HTTPS, публикация с сертификатом |
| 1540 | Агент сервера 1С |
| 1541 | Главный менеджер кластера |
| 1545 | Сервер администрирования (RAS), если он запущен |
| 1560–1591 | Рабочие процессы кластера |
| 8080 | Типичный запасной порт веб-сервера или прокси |
Если адрес не открывается
Типовые симптомы и что с ними делать:
netstat на сервере и Test-NetConnection с клиента. Если на сервере порт слушается, а с клиента нет, ищите правило брандмауэра.default.vrd с реальным. Службу не останавливайте и не перезапускайте в рабочее время: у пользователей оборвутся сеансы.netstat.Как использовать найденный адрес
Когда адрес известен, его применяют двумя способами.
- В браузере. Веб-клиент открывается по полному адресу публикации.
- В тонком клиенте. В окне запуска нажмите «Добавить», выберите «Добавить в список существующую информационную базу», затем укажите «На веб-сервере» и впишите полный адрес публикации. Такая запись хранится в файле списка баз
ibases.v8iв виде строкиConnect=Ws="http://srv-web/buh";.
Для порядка запишите адрес в документ о конфигурации сервера: узел, порт, имя публикации, дата последней смены. Через год это сэкономит поиск по конфигам.
Частые вопросы
Можно ли узнать адрес веб-сервера 1С из самой базы?
Чем адрес веб-сервера отличается от адреса сервера 1С?
Почему адрес работает по IP, но не работает по имени?
nslookup имя_узла. Если DNS не отвечает, адрес можно временно использовать по IP.Что делать, если на порту 80 уже сидит другая программа?
Listen в Apache. После смены порта обновите адреса у пользователей.Нужно ли указывать порт 443 в адресе https?
https://1c.firma.ru:8443/buh.