Настройка вебсокетов (websockets)
Протокол вебсокетов (WebSockets) используется в bpm’online для запуска пользовательских процессов, работы уведомлений, а также интеграции с телефонией. Для корректной работы всех функций системы необходимо на сервере приложения включить и настроить технологию.
В данной статье описан процесс настройки конфигурационных файлов bpm’online для корректной работы вебсокетов. Установка протокола WebSockets на сервер подробно описана в отдельной статье.
Технологию можно сконфигурировать в двух вариантах. В первом случае на application-сервере должна быть развернута Windows Server 2012 или Windows 8/10 с установленными Internet Information Services (IIS) не ниже версии 8. При этом не потребуется дополнительная настройка для использования защищенного соединения HTTPS.
Если же bpm’online развернута на Windows Server 8 или более давней версии, то потребуется дополнительная настройка портов. Кроме того, вы не сможете использовать преимущества HTTPS.
Содержание
•Настройка для Windows Server 2012
•Настройки для Windows Server 8
Настройка для 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.5" />
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.5" />
<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" />
Настройки для Windows Server 8
Для настройки вебсокетов в приложении, которое развернуто на Windows Server 8 или более ранней версии, откройте файл 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 8, а для работы с системой используется 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
Кроме того, при помощи консоли разработчика (Developer Tools) веб-браузера можно проверить подключение по протоколу WebSockets. В случае успешного подключения в консоли будет содержаться запись типа:
WebSocket-connection opened for url:ws://demo.bpmonline.com/0/Nui/ViewModule.aspx.ashx
Смотрите также
•Перевод bpm’online с HTTP на HTTPS