Настройка вебсокетов (websockets)
Протокол вебсокетов (WebSockets) используется в bpm’online для запуска пользовательских процессов, работы уведомлений, а также интеграции с телефонией. Для корректной работы всех функций системы необходимо, чтобы вебсокеты были включены и настроены на сервере приложения.
Важно
Если в вашей локальной сети используется прокси-сервер, то для него необходимо настроить протокол работы вебсокетов. Как правило, описание настройки данного протокола можно найти в документации прокси-сервера.
В данной статье описан процесс настройки конфигурационных файлов bpm’online для корректной работы вебсокетов.
На заметку
Установка на сервер компонентов, обеспечивающих работу по протоколу WebSockets, подробно описана в отдельной статье.
Конфигурирование можно выполнить в двух вариантах:
•На сервере приложений развернута Windows Server 2012, Windows Server 2016 или Windows 8/10 с установленными Internet Information Services (IIS) не ниже версии 8. Конфигурационные файлы в базовой версии bpm'online по умолчанию настроены для этого варианта и необходимо только выполнить настройки со стороны сервера. Однако если вы разворачиваете и настраиваете bpm'online впервые, рекомендуем проверить настройки конфигурационных файлов и убедиться, что веб-сокеты работают корректно. Подробнее >>>
Для использования защищенного соединения HTTPS в данном варианте конфигурации потребуется дополнительная настройка. Подробнее >>>
•Если же bpm’online развернута на Windows Server 2008 или более давней версии, то потребуется дополнительная настройка компонентов, обеспечивающих работу по протоколу WebSockets, портов и IIS. Подробнее >>>
Важно
Начиная с версии 7.13.3 прекращается поддержка IIS версии 7 и 7.5 (Windows Server 2008 и Windows Server 2008 R2). Необходимо использовать для сервера приложений IIS версии 8.0 и выше (Windows Server 2012 и выше).
При развертывании системы на Windows Server 2008 или более давней версии, вы не сможете использовать преимущества HTTPS.
Содержание
•Проверка настройки вебсокетов для Windows Server 2012 или Windows server 2016
•Настройка вебсокетов для Windows Server 2008
•Часто задаваемые вопросы по настройке вебсокетов
Проверка настройки вебсокетов для Windows Server 2012 или Windows server 2016
Чтобы проверить настройку вебсокетов в bpm’online, развернутом на сервере под управлением Windows Server 2012 или Windows Server 2016:
1.Убедитесь, что в файле Web.config, который находится в корневой директории сайта bpm’online, отключено наследование, а также указаны ограничения на длину и время выполнения запроса.
<location path="." inheritInChildApplications="false">
<system.web>
...
<httpRuntime maxRequestLength="73400" executionTimeout="28800" targetFramework="4.7" />
2.Для файла Web.config, который размещен в директории [Путь к корневому каталогу bpm’online]\Terrasoft.WebApp\ проверьте, чтобы было указано значение типа wsService по умолчанию “Terrasoft.Messaging.MicrosoftWSService.MicrosoftWSService, Terrasoft.Messaging.MicrosoftWSService”, указан порт для подключения клиентов, ограничения на длину и время выполнения запроса HTTP, а также вызов дополнительных модулей.
Важно
Для Microsoft Windows Server версии 2012 и выше рекомендуется использовать значение “MicrosoftWSService”, а не “SuperWSService”.
На заметку
Значение portForClientConnection="0" означает использование порта web-приложения.
<wsService type="Terrasoft.Messaging.MicrosoftWSService.MicrosoftWSService,
Terrasoft.Messaging.MicrosoftWSService" encrypted="false" portForClientConnection="0" />
...
<location path="." inheritInChildApplications="false">
<system.web>
...
<httpRuntime maxRequestLength="102400" executionTimeout="28800"
targetFramework="4.6.2" />
<httpHandlers>
...
<add verb="GET" path="*ViewModule.aspx.ashx" type="Terrasoft.Messaging.MicrosoftWSService.WSHandler,
Terrasoft.Messaging.MicrosoftWSService" />
...
<system.webServer>
...
<handlers>
...
<add name="WSHandler" verb="*" path="*ViewModule.aspx.ashx"
type="Terrasoft.Messaging.MicrosoftWSService.WSHandler, Terrasoft.Messaging.MicrosoftWSService" />
На заметку
Подключение по протоколу WebSockets можно проверить при помощи консоли разработчика (Developer Tools) веб-браузера. В случае успешного подключения в консоли будет содержаться запись типа: WebSocket-connection opened for url:ws://demo.bpmonline.com/0/Nui/ViewModule.aspx.ashx
Настройка вебсокетов для Windows Server 2008
Важно
Начиная с версии 7.13.3 прекращается поддержка IIS версии 7 и 7.5 (Windows Server 2008 и Windows Server 2008 R2). Необходимо использовать для сервера приложений IIS версии 8.0 и выше (Windows Server 2012 и выше).
Для настройки вебсокетов в приложении, которое развернуто на Windows Server 2008 или более ранней версии, откройте файл Web.config, который размещен в директории [Путь к корневому каталогу bpm’online]\Terrasoft.WebApp\, и проверьте настройки по умолчанию. Блок конфигурации wsService должен иметь вид:
<wsService type="Terrasoft.Messaging.SuperWSService.SuperWSService,
Terrasoft.Messaging.SuperWSService" defaultPort="2011" encrypted="false" portForClientConnection="44310"
maxConnectionNumber="100" clearIdleSession="false"
clearIdleSessionInterval="120" />
Обратите внимание, что значение defaultPort должно быть уникальным, то есть, не должно совпадать с другими значениями портов для всех приложений сервера.
Если bpm’online развернута на сервере с Windows Server 2008, а для работы с системой используется Internet Explorer, то необходимо дать доступ к куки сессии из JavaScript. Для этого в файле Web.config нужно изменить значение httpOnlyCookies.
…
<httpCookies httpOnlyCookies="false" />
…
Чтобы проверить доступность порта, введите в командной строке Windows:
telnet –a [host [port]]
В качестве значения host укажите веб-адрес развернутого приложения bpm’online, а в port — значение, которое будет использоваться в файле Web.config для порта по умолчанию. Например:
telnet -a demo.bpmonline.com 2011
Часто задаваемые вопросы по настройке вебсокетов
•Как проверить правильность настройки вебсокетов?
•Я настроил вебсокеты, но они не работают. Почему?
Как проверить правильность настройки вебсокетов?
Существует несколько быстрых способов проверить корректность настройки вебсокетов:
•Воспользуйтесь функциональностью импорта данных из Excel. Если вебсокеты настроены правильно, то импорт данных будет выполнен.
•В консоли разработчика веб-браузера введите команду Terrasoft.ServerChannel.ping(). При корректной настройке вебсокетов сервер ответит pong (Рис. 1). При любом другом ответе сервера необходимо проверить правильность настройки вебсокетов.
•Запустите вручную бизнес-процесс, в котором есть стартовый таймер и автогенерируемая страница. Если автогенерируемая страница откроется, значит, вебсокеты настроены правильно.
На заметку
Элементы бизнес-процессов подробно описаны в отдельной статье.
Я настроил вебсокеты, но они не работают. Почему?
Если после настройки вебсокеты не работают, проверьте:
•Установлены ли на сервере все компоненты протокола WebSockets. Подробнее >>>
•Используемые порты и их доступность. Подробнее >>>
•Установлен ли протокол использования вебсокетов для прокси-сервера, если он используется в вашей локальной сети.
•Настройки антивируса и Firewall. Если нет возможности отключить на сервере эти программы, добавьте IP-адрес и порт вашего сайта bpm’online в список исключений для входящих и исходящих потоков.
•Наличие расширений и надстроек web-браузера, в том числе VPN. Расширения могут блокировать работу вебсокетов.
Смотрите также
•Перевод bpm’online с HTTP на HTTPS