Исправление ошибки "Сервер недоступен" при подключении клиента

Дата: 2026-01-25
Ошибка: "Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением)"
Адрес: 10.218.14.10:1545

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

Симптомы

  • База prod_dev успешно добавлена в список клиента ✅
  • При попытке подключения возникает ошибка: "Сервер недоступен" ❌
  • Ошибка указывает на server_addr=tcp://10.218.14.10:1545

Возможные причины

  1. RAS не отвечает на внешние подключения
  2. RAS падает при подключении клиента
  3. Проблемы с сетью LXD
  4. Порт занят другим процессом

Решения

Решение 1: Перезапуск RAS

lxc exec 1c-server-new -- bash -c "systemctl restart ras-8.3.27.1786.service"

Решение 2: Проверка доступности порта

# С хоста
timeout 3 bash -c '</dev/tcp/10.218.14.10/1545' && echo 'Доступен' || echo 'Недоступен'

# Из контейнера
lxc exec 1c-server-new -- bash -c "timeout 3 bash -c '</dev/tcp/localhost/1545' && echo 'Доступен' || echo 'Недоступен'"

Решение 3: Проверка логов RAS

lxc exec 1c-server-new -- bash -c "journalctl -u ras-8.3.27.1786.service -n 50 --no-pager"

Решение 4: Проверка работы RAS через rac

# Локальное подключение (должно работать)
lxc exec 1c-server-new -- bash -c "/opt/1cv8/x86_64/8.3.27.1786/rac cluster list localhost:1545"

# Внешнее подключение (может не работать)
lxc exec 1c-server-new -- bash -c "/opt/1cv8/x86_64/8.3.27.1786/rac cluster list 10.218.14.10:1545"

Текущее состояние сервера

Проверка сервисов:

lxc exec 1c-server-new -- bash -c "systemctl status ras-8.3.27.1786.service srv1cv8-8.3.27.1786@default.service --no-pager"

Проверка портов:

lxc exec 1c-server-new -- bash -c "ss -tlnp | grep -E ':154[0-5]'"

Ожидается:
- Порт 1545 должен слушать на 0.0.0.0:1545 (не 127.0.0.1:1545)

Если RAS не отвечает на внешние подключения

Проблема: RAS слушает только на localhost

Если ss -tlnp показывает 127.0.0.1:1545 вместо 0.0.0.0:1545:

  1. Проверьте конфигурацию RAS:
    bash cat /etc/systemd/system/ras-8.3.27.1786.service

  2. Убедитесь, что команда запуска не содержит --host=localhost:
    ```bash
    # Должно быть:
    /opt/1cv8/x86_64/8.3.27.1786/ras cluster --port=1545

# Не должно быть:
/opt/1cv8/x86_64/8.3.27.1786/ras cluster --host=localhost --port=1545
```

  1. Перезапустите RAS:
    bash lxc exec 1c-server-new -- bash -c "systemctl restart ras-8.3.27.1786.service"

Альтернативное решение: Использование localhost

Если подключение через внешний IP не работает, используйте localhost или 127.0.0.1:

Обновление файлов конфигурации:

# Основной файл
cat > ~/.1cv8/1C/1cv8/ibases.v8i << 'EOF'
[prod_dev]
Connect=Srvr="127.0.0.1:1545";Ref="prod_dev";
EOF

# Альтернативный файл
cat > ~/.1C/1cestart/ibases.v8i << 'EOF'
[prod_dev]
Connect=Srvr="127.0.0.1:1545";Ref="prod_dev";
ID=edaf4a41-ddad-4c45-ba4d-128ddabc8c0d
OrderInList=-1
Folder=/
OrderInTree=16384
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3
AdditionalParameters=Srvr="127.0.0.1:1545"; Ref="prod_dev";
EOF

Обновление через GUI:

  1. В "Запуск 1С:Предприятия" выберите базу prod_dev
  2. Нажмите "Изменить..."
  3. В поле "Кластер серверов" измените 10.218.14.10:1545 на 127.0.0.1:1545
  4. Сохраните изменения

Проверка после исправления

  1. Проверьте доступность:
    ```bash
    timeout 3 bash -c '