Имя: Пароль:
1C
1С v8
Система взаимодействия - конечный комьпютер отверг запрос на подключение
0 прогакот
 
27.02.23
16:37
Добрый день!

Debian 11 в качестве сервера 1С:Предприятие 8.3 (8.3.22.1750),
Документооборот КОРП, редакция 3.0 (3.0.9.18),
PostgreSQL_14.4-1.1C

Установил сервер системы взаимодействия 1С:Сервер взаимодействия (22.0.26). Установка и настройка прошла без проблем.

Вот проверка настроек через ring-api
# ring cs --instance cs_1 jdbc pools --name common list-params
Response{url='jdbc:postgresql://localhost:5432/cs_db?currentSchema=public', username='postgres', password='xxxxxxxx'}

# ring cs --instance cs_1 jdbc pools --name privileged list-params
Response{url='jdbc:postgresql://localhost:5432/cs_db?currentSchema=public', username='postgres', password='xxxxxxxx'}

# ring cs --instance cs_1 websocket list-params
Response{hostname='localhost', port=9094, keystorePath='null', keystoreFormat='JKS', keystorePassword='null', wss=false, maxHttpContentLength=128 KB, maxFramePayloadLength=128 KB, pingTimeout=60000, pingInterval=25000, bossThreads=0, workerThreads=0}

# curl http://localhost:8087/rs/health
{"status":"UP","mainDbOk":true,"allShardsOk":true,"hazelcast":{"available":true,"members":["127.0.0.1:5701"]},"elasticsearchOk":true,"mediaClusterOk":false,"mediaServers":{},"pushOk":false}

Инициализация базы произведена
# curl -Sf -X POST -H "Content-Type: application/json" -d "{ \"url\" : \"jdbc:postgresql://localhost:5430/cs1_db\", \"username\" : \"postgres\", \"password\" : \"xxxxxxx\", \"enabled\" : true }" -u admin:admin http://localhost:8087/admin/bucket_server
{"id":"c480e99a-9144-4d33-b615-341c064bc778","url":"jdbc:postgresql://localhost:5430/cs1_db","username":"postgres","password":"xxxxxxx","lastUsedAt":null,"enabled":true,"deleted":false}

Сервисы cs, Hazelcast, Elasticsearch стартуют. В логах ошибок нет, только варнинги.

Под клиентом пытаюсь подключиться к своему серверу взаимодействия - ws://localhost:9094
и получаю ответ:
"К сожалению, возникла ошибка сетевого соединения.
Невозможно установить соединение с сервером системы взаимодействия.
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение"

Сначала проверяю с помощью команды
# ss -tlnp | grep :9094
LISTEN 0      1024   [::ffff:127.0.0.1]:9094             *:*    users:(("launcher",pid=3799426,fd=936))
нормально
Затем с помощью netcat  
# netcat -vz 1cdoc.local 9094
1cdoc [10.2.13.4] 9094 (?) : Connection refused

Порт 9094 открыт.

Connection refused - здесь я застрял. Кто может подсказать куда копать?

Спасибо за любые подсказки
1 прогакот
 
01.03.23
15:55
Локально, на сервере системы взаимодействия, всё работает нормально. Регистрация производится успешно.
Но с компьютера клиента нет.

# netstat -lnp | grep launcher
tcp6       0      0 :::8443                 :::*                    LISTEN      146905/launcher
tcp6       0      0 :::9700                 :::*                    LISTEN      146905/launcher
tcp6       0      0 :::9701                 :::*                    LISTEN      146905/launcher
tcp6       0      0 :::5701                 :::*                    LISTEN      146028/launcher
tcp6       0      0 127.0.0.1:9094          :::*                    LISTEN      146905/launcher
tcp6       0      0 127.0.0.1:9200          :::*                    LISTEN      146561/launcher
tcp6       0      0 ::1:9200                :::*                    LISTEN      146561/launcher
tcp6       0      0 127.0.0.1:9300          :::*                    LISTEN      146561/launcher
tcp6       0      0 ::1:9300                :::*                    LISTEN      146561/launcher
tcp6       0      0 127.0.0.1:8087          :::*                    LISTEN      146905/launcher

может быть связано с tcp6?
2 прогакот
 
01.03.23
16:30
Проблема с tcp6

Но где и как в websocket указать порту работать по протоколу tcp?

Как я понимаю запись должна быть
tcp   0   0.0.0.0:9094

Как изменить?
3 ДедМорроз
 
01.03.23
19:28
127.0.0.1:9094 вас,видимо,не смущает
Он у вас слушает только локальные подключения и никто,кроме локальных процессов к нему не придет.
Копайте настройки.
4 прогакот
 
02.03.23
10:38
Спасибо за ответ!
Но я нигде не могу найти информацию как правильно прописывается этот параметр

Вот файл websocket.yml
  websocket:
    hostname: localhost
    port: 9094

Тупо сделал так
  # ring cs --instance cs_1 websocket set-params --hostname 0.0.0.0
результат в websocket.yml
  websocket:
    hostname: 0.0.0.0
    port: 9094

изменилась запись
  # netstat -tln | grep 9094
  tcp6       0      0 :::9094                 :::*                    LISTEN

  # netcat -vz 1cdoc.local 9094
  1cdoc [10.2.13.4] 9094 (?) : open

И ВСЁ РАБОТАЕТ! Регистрация производится!

Спасибо!
5 ДедМорроз
 
02.03.23
19:13
Для сведения
localhost означает 127.0.0.1
То есть,при такой записи будут только локальные соединения.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс