Рабочее место у сервера 1С: порты, кластер, лицензии и веб-доступ
Содержание
Чтобы подключиться к серверу 1С с другого компьютера, на рабочем месте ставят клиент той же версии платформы, что и сервер. Затем в окне запуска добавляют базу с типом «На сервере 1С:Предприятия»: указывают имя сервера и имя базы в кластере. Со стороны сети нужно, чтобы клиент видел сервер по имени и проходил на TCP-порты 1540, 1541 и диапазон 1560–1591.
Есть три способа работать с серверной базой с другой машины. Прямое подключение тонкого или толстого клиента — для офисной сети. Веб-публикация — когда нужен доступ через браузер или из интернета. Удалённый рабочий стол (RDP) — когда клиент на месте ставить нельзя или канал слабый. Для офиса с десятком рабочих мест прямое подключение проще всего: ничего, кроме клиента платформы и пары правил брандмауэра, не нужно.
Как клиент 1С находит сервер и какие порты при этом идут
Подключение идёт в несколько шагов, и сбой на любом из них выглядит для пользователя одинаково: «сервер не найден».
- Клиент обращается к агенту сервера (процесс
ragent) на порт 1540. - Агент сообщает адрес менеджера кластера (процесс
rmngr) — по умолчанию порт 1541. - Менеджер выдаёт клиенту рабочий процесс (
rphost) — у него порт из диапазона, обычно 1560–1591. - Дальше клиент работает напрямую с рабочим процессом.
Ключевая деталь: на шагах 2 и 3 сервер возвращает клиенту своё сетевое имя, а не IP-адрес. Если рабочее место не может превратить это имя в адрес, подключение срывается, даже когда в окне запуска вы указали сервер по IP.
| Порт | Кто слушает | Нужен ли клиенту |
|---|---|---|
| 1540 | агент сервера ragent | да |
| 1541 | менеджер кластера rmngr | да |
| 1560–1591 | рабочие процессы rphost | да |
| 1545 | сервер администрирования ras | только для удалённого администрирования через rac |
| 1433 / 5432 | MS SQL / PostgreSQL | нет, к СУБД ходит только сервер 1С |
Клиенту не нужен доступ к порту СУБД. Если пользователь видит ошибку подключения к SQL, разбираться надо на сервере 1С, а не на рабочем месте.
Если кластер ставили не на стандартных портах (например, второй кластер на 2541), имя сервера в окне запуска пишут с портом: srv1c:2541.
Подготовка рабочего места перед подключением к серверу 1С
Версия платформы — один в один
Клиент и сервер должны быть одной версии вплоть до последней цифры: если сервер 8.3.24.1691, то и клиент 8.3.24.1691. При расхождении платформа откажет в подключении с сообщением о несоответствии версий клиента и сервера.
Версию сервера смотрят в консоли администрирования или в списке программ на сервере. Дистрибутив клиента берут тот же, из которого ставили сервер. При установке достаточно компонента «1С:Предприятие — тонкий клиент» (или «1С:Предприятие», если нужен толстый клиент или Конфигуратор).
Имя сервера должно разрешаться
Проверьте с рабочего места:
ping srv1c
Если ответ идёт с правильного IP — хорошо. Если «не удаётся обнаружить узел» или ответ приходит с другого адреса, есть два пути:
- 🌐 попросить администратора сети завести запись в DNS;
- 📝 прописать сервер в файл
C:\Windows\System32\drivers\etc\hosts(редактор запускать от имени администратора):
192.168.1.10 srv1c
Имя в hosts должно совпадать с тем, под которым сервер записан в кластере. Его видно в консоли администрирования в ветке рабочих серверов.
Проверка сетевой доступности сервера 1С и его портов
ping проверяет только, что машина жива. Порт может быть закрыт брандмауэром, а ping при этом проходить. Порты проверяют отдельно.
В PowerShell на рабочем месте:
Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560
В выводе смотрите строку TcpTestSucceeded. True — порт открыт, False — закрыт или служба не слушает.
На самом сервере полезно убедиться, что процессы действительно слушают порты:
netstat -ano | findstr ":1540 :1541 :156"
Если на сервере порт 1540 не слушается — служба агента не запущена. Её ищут в оснастке «Службы» (services.msc) по слову «1С:Предприятие». Если же сервер слушает, а с рабочего места TcpTestSucceeded : False — дело в брандмауэре или сетевом оборудовании между машинами.
Если решите перезапустить службу агента сервера 1С, все пользователи потеряют текущие сеансы, а несохранённые документы пропадут. Делайте это вне рабочего времени или после предупреждения всех, кто работает в базе.
Открываем порты 1С в брандмауэре Windows на сервере
Правило нужно на входящие соединения на стороне сервера. На рабочем месте обычно ничего открывать не надо: исходящие соединения брандмауэр Windows по умолчанию пропускает.
Из командной строки, запущенной от имени администратора:
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540,1541,1560-1591
То же самое в PowerShell:
New-NetFirewallRule -DisplayName "1C Server" -Direction Inbound -Protocol TCP -LocalPort 1540,1541,1560-1591 -Action Allow
Через графический интерфейс: wf.msc → «Правила для входящих подключений» → «Создать правило» → тип «Для порта» → TCP → перечислить порты → «Разрешить подключение» → профили → имя правила.
Несколько практических моментов:
- 🔢 Если в свойствах рабочего сервера задан другой диапазон портов рабочих процессов, правило должно повторять именно его.
- 🏢 Профиль сети. Если сетевое подключение сервера определилось как «Общедоступная», а правило создали только для профиля «Частный» или «Домен», порты останутся закрыты.
- 🛡️ Сторонний антивирус с сетевым экраном работает поверх брандмауэра Windows. Правило придётся добавить и в нём.
Не пробрасывайте порты 1540–1591 на роутере в интернет. Протокол клиент-сервера 1С не рассчитан на открытую сеть. Для удалённых сотрудников используйте VPN, веб-публикацию по HTTPS или RDP.
Регистрация базы в кластере и подключение базы на клиенте
Чтобы к базе можно было подключиться, она должна быть зарегистрирована в кластере. Если база уже работает у других пользователей, этот шаг пропускают и сразу добавляют её на клиенте.
Регистрация через консоль администрирования
На сервере (или на машине с установленной консолью) откройте «Администрирование серверов 1С Предприятия».
- Разверните центральный сервер →
Кластеры→ нужный кластер →Информационные базы. - Контекстное меню →
Создать→Информационная база. - Заполните поля:
- Имя — его потом вводят на клиенте, например
buh_main; - Сервер баз данных — имя сервера СУБД (для MS SQL с именованным экземпляром —
srvsql\SQLEXPRESS); - Тип СУБД, База данных, Пользователь сервера БД, Пароль;
- флажок «Разрешить выдачу лицензий сервером 1С:Предприятия» — о нём ниже;
- флажок «Создать базу данных в случае ее отсутствия» — если базы на СУБД ещё нет.
- Имя — его потом вводят на клиенте, например
- Нажмите «ОК».
Создать базу в кластере можно и прямо из окна запуска на клиенте: «Добавить» → «Создание новой информационной базы» → тип «На сервере 1С:Предприятия». Поля те же.
Добавление базы в список на рабочем месте
- Откройте окно запуска 1С → «Добавить».
- Выберите «Добавление в список существующей информационной базы».
- Введите понятное пользователю наименование.
- Тип расположения — «На сервере 1С:Предприятия».
- Кластер серверов
1С:Предприятия —
srv1c(илиsrv1c:2541для нестандартного порта). - Имя информационной базы в кластере —
buh_main, ровно как в консоли. - Выберите вариант запуска: тонкий клиент, толстый или «Выбирать автоматически».
Строка соединения такой базы выглядит так:
Srvr="srv1c";Ref="buh_main";
Если базу нужно раздать на 20 рабочих мест, не вбивайте её руками на каждом. Добавьте один раз, а затем скопируйте файл списка баз ibases.v8i из %APPDATA%\1C\1CEStart\ на другие машины. Можно и централизованно — через общий файл списка, который указывается в настройках окна запуска.
Лицензии при подключении к серверу 1С с другого компьютера
Сетевая доступность — половина дела. Вторая половина — лицензии. Нужны два вида:
- 🖥️ лицензия на сервер 1С:Предприятия — устанавливается на сервер;
- 👥 клиентские лицензии — по одной на каждый одновременный сеанс.
Клиентские лицензии в клиент-серверном режиме можно держать в двух местах:
| Где лицензия | Как работает | Когда удобно |
|---|---|---|
| На сервере 1С | рабочий процесс выдаёт лицензию сеансу | основной вариант для серверной базы |
| На рабочем месте | клиент берёт лицензию со своего компьютера | отдельные машины, однопользовательские комплекты |
| Сетевой ключ HASP | клиент или сервер находит ключ в сети | старые аппаратные комплекты |
Чтобы сервер выдавал клиентские лицензии, нужны два условия. Программная лицензия активирована на сервере (через Конфигуратор или клиент, запущенный на этом компьютере). В свойствах базы в кластере стоит флажок «Разрешить выдачу лицензий сервером 1С:Предприятия».
Какие лицензии реально заняты, видно в консоли администрирования: у сеансов есть сведения о лицензиях. Для командной строки есть утилита rac (нужна запущенная служба ras):
rac session list --licenses --cluster=<id кластера>
Идентификатор кластера даёт rac cluster list. Остальные параметры — по справке rac help.
Типичные причины отказа по лицензиям:
- 🔐 все клиентские лицензии уже заняты — кто-то не закрыл 1С или висит «мёртвый» сеанс;
- 💻 программная лицензия активирована на другом компьютере и сервер её не видит;
- 🔄 после замены оборудования или переустановки ОС сервера лицензия перестала соответствовать машине — её восстанавливают тем же пинкодом или запрашивают резервный;
- ❌ флажок выдачи лицензий в свойствах базы снят.
Без доступной лицензии платформа не запустит базу — работы «в демо-режиме» нет.
Доступ к серверной базе через веб-публикацию
Если прямое подключение невозможно — сотрудник вне офиса, порты закрыты политикой — базу публикуют на веб-сервере. Тогда клиенту нужен только HTTP или HTTPS.
Схема такая: на сервер (или отдельную машину) ставят Apache или IIS и компонент платформы «Модули расширения веб-сервера». Затем публикуют базу:
- Запустите Конфигуратор от имени администратора Windows.
- Откройте серверную базу .
Администрирование → Публикация на веб-сервере.- Укажите имя публикации (например,
buh), тип веб-сервера и каталог. - Нажмите «Опубликовать».
После этого база доступна по адресу http://имя-веб-сервера/buh. На рабочем месте её открывают:
- 🌍 в браузере — по этому адресу;
- 🖱️ в тонком клиенте — «Добавить» → «Добавление в список существующей» → тип «На веб-сервере» → тот же адрес.
Веб-сервер общается с кластером по тем же портам 1540–1591, поэтому если он стоит на отдельной машине, правило брандмауэра на сервере 1С должно пропускать и её.
Для доступа из интернета публикуйте только по HTTPS, с действующим сертификатом и надёжными паролями пользователей 1С. Публикация по голому HTTP передаёт логины и данные открытым текстом.