Имя: Пароль:
1C
1С v8
Проблемы с отладкой 1С между сетями
0 Просто Филя
 
22.11.21
12:42
Товарищи, добрый день!

Я не 1С спец, а IT-специалист, наши 1С-ники не знают особенностей работы 1С, поэтому обращаюсь к вам.

Ситуация:
Были терминальный сервер разработчиков (А) и сервер с 1С (Б). Платформа 8.3.13.1644, но есть и другие.
Смысл в чём, когда сервера А и Б сидели вместе на трубе, т.е. были в одной подсети - отладка у разработчиков на Сервере А с 1С сервера Б работала.

Затем сервер А уехал в другую подсеть, и соответственно на нём сменился IP адрес. Отладка перестала работать.
Теперь сетевые моменты:
- на обоих серверах брандмауэры отключены.
- на роутере между серверами всё для этих двух подсетей в обе стороны разрешено. Т.е. не по портам, а просто всё для сети А в сеть Б и из сети Б в сеть А разрешено.
- на сервере Б для отладки открыт порт 1760 и с сервера А я телнетом могу сконнектиться на этот порт.

Но отладка не работает. Подскажите, куда копать, чтобы это раскопать?
1С-ники говорят, что у них все ключи запуска 1С с отладкой правильно прописаны и всё сделано по оффициальной документации.
1 Garykom
 
гуру
22.11.21
12:52
(0) >на сервере Б для отладки открыт порт 1760 и с сервера А

а обратно?

При работе отладчика используются следующие порты:

● При использовании протокола отладки TCP/IP: 1560-1591 (по умолчанию). Диапазон портов может быть изменен. Порты используются и на стороне отладчика и на стороне предмета отладки.

● При использовании протокола отладки HTTP: порт сервера отладки, который явно указывается при запуске. При работе в клиент-серверном варианте сервер отладки использует порт 1550 (по умолчанию). При работе в файловом варианте порт назначается явным образом или выбирается конфигуратором из интервала портов 1560-1591 (по умолчанию). Диапазон портов может быть изменен. Порт используется только на компьютере, где запущен сервер отладки.
2 Просто Филя
 
22.11.21
12:55
(1) Спасибо за ответ!

Т.е. порт отладки такой же должен открываться на стороне сервера А, где сидит разработчик? И порты должны быть симметричными? Т.е. если на Б 1760, то и на А должен быть 1760?
3 Garykom
 
гуру
22.11.21
12:57
(2) Если tcp да
Если http только где сервер отладки запущен
4 Просто Филя
 
22.11.21
12:57
(1) Обратно с сервера Б на сервер А проверил по порту А:1560, т.к. он там есть открытый, а 1760 нет. Коннект также есть и ничего между подсетями не фильтруется.
5 Просто Филя
 
22.11.21
13:09
Походу источник проблемы выяснился, или проясняется.

Между подсетями орагнизован NAT. Так вот строка запуска с дебагом на сервере А имеет параметр DEBUGGERURL"tcp:EXT_А_IP", а на сервере Б DEBUGGERURL"tcp:MY_Б_IP"
Т.е. сервер А в качестве параметра debuggerurl выставляет адрес роутера (EXT_А_IP), и видимо Б пытается контачить с ним.

Сейчас дальше покопаем, но походу зацепка эта.
6 Просто Филя
 
22.11.21
13:14
Всё, решил пустив общение между подсетями без ната. Я так понял, 1С-ка разработчика зачем-то выставляет в этот параметр адрес шлюза, а не свой. И собственно в этом затуп.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший