Если сервер Битрикс находится в облаке:- В конфигурационном файле в настройках Битрикс указывается
<EventsBaseUrl> - маска подключения к модулю Битрикс к серверу Логуса (протокол и порт). Порт, запросы с которого будет отслеживать модуль Битрикс. Например: http://*:8080/ - Далее Администратор объекта должен настроить проброс портов, сопоставить локальный адрес сервера Логуса (например:
192.168.11.10:8080) с внешним (белым) адресом роутера объекта (например: 197.111.78.65:76765) - Именно внешний (белый) адрес необходимо указывать в настройках Исходящих вебхуков в поле Адрес обработчика
В итоге, как происходит взаимодействие Битрикс и Логуса: - Происходит какое-либо событие на стороне Битрикс (исходящий вебхук)
- Отправляется запрос по адресу
197.111.78.65:76765 - внешний (белый) адрес роутера объекта - В соответствии с настройками проброса портов происходит перенаправление запроса на локальный адрес сервера Логуса
192.168.11.10:8080 - Модуль Битрикса получает запрос через
8080 порт и обрабатывает его
Если сервер Битрикс развёрнут локально на объекте.В таком случае в настройках Исходящих вебхуков в поле Адрес обработчика прописывается локальный адрес сервера Логуса. То есть в нашем примере: 192.168.11.10:8080 Если Битрикс развёрнут локально у клиента, а не в облаке, то необходимо убедиться, что сервер Логуса доступен по локальному адресу с сервера Битрикс, например командой: | Code Block |
|---|
curl http://logus_server:8080/ |
где logus_server - локальный адрес сервера Логуса | Info |
|---|
Бывали случаи, когда теряли много времени, а сервер Битрикс оказывался в отдельном VLAN/DMZ и не имел доступа к серверу Логуса. В этом случае и сам Битрикс будет подвисать при операциях, требующих вызова вебхука - ожидать таймаута по 30 секунд. |
|