Настройка вебсокетов (websockets)
Протокол вебсокетов (WebSockets) используется в bpm’online для запуска пользовательских процессов, работы уведомлений, а также интеграции с телефонией. Для корректной работы всех функций системы необходимо на сервере приложения включить и настроить технологию.
В данной статье описан процесс настройки конфигурационных файлов bpm’online для корректной работы вебсокетов. Установка протокола WebSockets на сервер подробно описана в отдельной статье.
Технологию можно сконфигурировать в двух вариантах. В первом случае на application-сервере должна быть развернута Windows Server 2012 или Windows 8/10 с установленными Internet Information Services (IIS) не ниже версии 8. При этом не потребуется дополнительная настройка для использования защищенного соединения HTTPS.
Если же bpm’online развернута на Windows Server 2008 или более давней версии, то потребуется дополнительная настройка портов. Кроме того, вы не сможете использовать преимущества HTTPS.
Содержание
•Настройка для Windows Server 2012
•Настройки для Windows Server 2008
Настройка для Windows Server 2012
Чтобы настроить вебсокеты в bpm’online, развернутом на сервере под управлением Windows Server 2012:
1.Отредактируйте файл Web.config, который находится в корневой директории сайта bpm’online. Необходимо отключить наследование, а также указать ограничения на длину и время выполнения запроса.
<location path="." inheritInChildApplications="false">
<system.web>
...
<httpRuntime maxRequestLength="102400" executionTimeout="28800" targetFramework="4.6.2" />
2.Отредактируйте файл Web.config, который размещен в директории [Путь к корневому каталогу bpm’online]\Terrasoft.WebApp\. Здесь нужно изменить значение типа wsService по умолчанию с “Terrasoft.Messaging.SuperWSService.SuperWSService, Terrasoft.Messaging.SuperWSService” на “Terrasoft.Messaging.MicrosoftWSService.MicrosoftWSService, Terrasoft.Messaging.MicrosoftWSService”, указать порт для подключения клиентов, ограничения на длину и время выполнения запроса HTTP, а также вызов дополнительных модулей.
<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
Для настройки вебсокетов в приложении, которое развернуто на 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, то необходимо перенести куки сессии из http в JavaScript. Для этого в файле Web.config нужно изменить значение httpOnlyCookies.
…
<httpCookies httpOnlyCookies="false" />
…
Проверка открытых портов
Чтобы проверить доступность порта, можно ввести в командной строке Windows:
telnet –a [host [port]]
Значением host будет веб-адрес развернутого приложения bpm’online, а в port укажите значение, которое будет использоваться в файле Web.config для порта по умолчанию. Например:
telnet -a demo.bpmonline.com 2011
Смотрите также
•Перевод bpm’online с HTTP на HTTPS