Другие конфигурации > Конфигурирование ThingWorx Navigate с кластерной средой Windchill
  
Конфигурирование ThingWorx Navigate с кластерной средой Windchill
Можно использовать ThingWorx Navigate с кластерной средой Windchill. Чтобы подключить ThingWorx Navigate к Windchill, используйте URL-адрес балансировщика нагрузки. URL-адрес, который будет использоваться, зависит от следующего:
конфигурация ThingWorx Navigate: единая точка входа или аутентификация Windchill
базовая конфигурация Windchill: протокол HTTP или HTTPS
Этот раздел содержит памятку с базовыми сведениями о кластерной среде и примеры конфигураций с ThingWorx Navigate.
* 
При использовании кластера Windchill в конфигурации ThingWorx Navigate необходимо учитывать факторы безопасности. Обязательно просмотрите приведенные ниже сведения перед использованием кластерной конфигурации в производстве.
Схема ThingWorx Navigate, настроенного с кластером Windchill
Справочная информация о кластерах Windchill
Основными преимуществами использования кластера является повышение производительности, масштабируемость и надежность. Кластер содержит следующие компоненты:
Два или несколько хостов уровня приложения, которые соединены с экземпляром базы данных через маршрутизатор балансировки нагрузки.
Маршрутизатор балансировки нагрузки - получает запросы от клиентов, включая пользователей Windchill и пользователей ThingWorx Navigate.Балансировщик нагрузки распределяет запросы среди экземпляров Windchill. Поэтому аварийное завершение работы сервера или высокий трафик меньше заатрагивают пользователей.
Для остальной части сети этот маршрутизатор отображается как единственный сервер Windchill. Для него существует собственное наименование хост-компьютера и всегда должен использоваться протокол HTTPS.
Дополнительные сведения о кластерах см. в главе "Установка и конфигурирование кластерной среды Windchill" справочного центра Windchill.
В последующих разделах приведено четыре примера конфигурирования кластера Windchill для каждой из конфигураций аутентификации для ThingWorx Navigate. Рекомендуется использовать для ThingWorx Navigate единую точку входа - это самая безопасная конфигурация. Для других конфигураций требуются дополнительная настройка и учет соображений безопасности, чтобы обеспечить настройку полного решения.
Единая точка входа (SSO) в ThingWorx Navigate с кластером Windchill, сконфигурированная на использование HTTPS и OAuth (рекомендуется)
Эта настройка наиболее безопасна. Ниже приводятся подробные сведения о конфигурации:
Тип аутентификации ThingWorx Navigate - SSO
Протокол балансировщика нагрузки - HTTPS
Серверы Windchill - сконфигурированы на использование HTTPS и OAuth. Аутентификация SAML является необязательной.
Поскольку в Windchill используется HTTPS, в балансировщике нагрузки не прекращается действие сертификата SSL.
Проверьте URL балансировщика нагрузки в следующих местах в ThingWorx Composer:
Для ptc-windchill-integration-connectorОсновной URL-адрес имеет вид [https]://[LB-host]:[port]/[windchill-web-app]/oauth
Для ptc-windchill-integration-connector-proxy:
Основной URL-адрес - [https]://[LB-host]
Проверять URL-адрес подключения - [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
Единая точка входа в ThingWorx Navigate с кластером Windchill, сконфигурированным с HTTP и OAuth
Ниже приводятся подробные сведения о конфигурации:
Тип аутентификации ThingWorx Navigate - SSO
Протокол балансировщика нагрузки - HTTPS
Серверы Windchill - сконфигурированы для использования HTTP и OAuth. Аутентификация SAML является необязательной.
Поскольку в Windchill используется HTTPS, в балансировщике нагрузки не прекращается действие сертификата SSL.
Проверьте URL-адрес балансировщика нагрузки в ThingWorx Composer.
Для ptc-windchill-integration-connectorОсновной URL-адрес имеет вид [https]://[LB-host]:[port]/[windchill-web-app]/oauth.
Для ptc-windchill-integration-connector-proxy:
Основной URL-адрес - [https]://[LB-host]
Проверять URL-адрес подключения - [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
ThingWorx Navigate с аутентификацией Windchill с кластером Windchill, сконфигурированным с HTTPS
* 
Использование сертификатов в конфигурации с двусторонним протоколом SSL обеспечивает шифрование и безопасную передачу данных. Это осуществляется с помощью проверки на обеих сторонах для подтверждения наличия соединения и связи между платформой ThingWorx/ThingWorx Navigate и Windchill.
Поскольку в качестве поставщика удостоверений поддерживается только Windchill, совместное использование учетных данных ограничено только приложениями ThingWorx и Windchill.
Ниже приводятся подробные сведения о конфигурации:
Тип аутентификации ThingWorx Navigate - аутентификация Windchill с двусторонним SSL
Протокол балансировщика нагрузки - HTTPS
Тип балансировщика нагрузки - уровень 4
Серверы Windchill - сконфигурированные для использования HTTPS и двустороннего SSL
С тех по как в Windchill используется HTTPS, в балансировщике нагрузки не возникает прекращения действия сертификата.
Проверьте URL-адрес балансировщика нагрузки в ThingWorx Composer. Правильным форматом для ptc-windchill-connector и ptc-windchill-connector-proxy будет следующий:
https://<loadbalancer_host>:port>/Windchill/sslClientAuth
* 
Поддерживать эту конфигурацию может только балансировщик нагрузки, работающий на уровне 4 модели OSI.
При использовании балансировщика нагрузки, работающего на уровне 7 модели OSI, необходимо использовать описанную ниже аутентификацию с конфигурацией доверенного хоста Windchill.
ThingWorx Navigate с аутентификацией Windchill с кластером Windchill, сконфигурированным с HTTP
* 
Использование этой альтернативной конфигурации не рекомендуется, и ее следует использовать только в целях демонстрации и подтверждения концепции. В этой конфигурации ThingWorx Navigate и Windchill соединяются без использования SSO или SSL. Вместо этого настраивается свойство доверенного хоста.
Доверенный хост-компьютер открывает соединение между платформой ThingWorx и Windchill, разрешая весь обмен данными с идентифицированным IP-адресом доверенного хост-компьютера. Это добавляет угрозу атаки типа "человек посередине" (MIM). Через это соединение становится доступной конфиденциальная информация.
Кроме того, даже при нахождении системы позади брандмауэра существует риск внутренних атак и ошибок сетевых конфигураций. Если атакующий взломает одну из этих границ сети, он получит прямой доступ к незашифрованной общедоступной информации. Это подвергает риску существующий продукт Windchill и конфигурацию ThingWorx Navigate.
Вы отвечаете за решение, готовы ли вы принять риск использования этой настройки. PTC не рекомендует эту конфигурацию и не отвечает за любые бреши в системе безопасности или атаки на системы, настроенные на использование опции доверенного хоста.
Ниже приводятся подробные сведения о конфигурации:
Тип аутентификации ThingWorx Navigate - аутентификация Windchill
Протокол балансировщика нагрузки - HTTPS
Серверы Windchill сконфигурированы для использования HTTP и свойства trustedHost. Инструкции для конфигурирования этого свойства приведены ниже.
Поскольку в Windchill используется HTTPS, в балансировщике нагрузки не прекращается действие сертификата SSL.
В дополнение к шагам, приведенным ниже, убедитесь, что выполнены все необходимые шаги из подраздела "Конфигурирование кластера Windchill" в конце раздела Настройка ThingWorx Navigate с аутентификацией Windchill.
В инструменте Конфигурация ThingWorx Navigate укажите следующий URL-адрес в поле для Windchill:
https://<loadbalancer_host>:port>/Windchill/trustedAuth
Кроме того, требуется несколько шагов вручную, чтобы выполнить на стороне Windchill. Необходимо задать IP-адреса сервера ThingWorx и балансировщика нагрузки в качестве адресов доверенных хост-компьютеров. Таким образом будет защищено соединение ThingWorx Navigate с Windchill с использованием балансировщика нагрузки.
Это также повышает безопасность, поскольку предотвращается доступ к шаблону URL-адреса Windchill/trustedAuth/ через балансировщик нагрузки с клиентских хост-компьютеров, не являющихся доверенными.
Выполните следующие шаги на стороне Windchill:
1. Остановите сервер методов Windchill.
2. Найдите файл WT_HOME/codebase/WEB-INF/web.xml и откройте его в текстовом редакторе.
3. Найдите разделы TrustedSSLAuthFilter и TrustedAuthFilter, а затем добавьте в оба раздела параметр clientHostHeader, как показано ниже. Например:
<filter>
<description>Filter allowing a trusted SSL certificate to specify the remote user for the request</description>
<filter-name>TrustedSSLAuthFilter</filter-name>
<filter-class>wt.httpgw.filter.TrustedAuthFilter</filter-class>
<init-param>
<param-name>trustTrustedHosts</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>clientHostHeader</param-name>
<param-value>X-Forwarded-For</param-value>
</init-param>
</filter>
<filter>
<description>Filter allowing a trusted client to specify the remote user for the request</description>
<filter-name>TrustedAuthFilter</filter-name>
<filter-class>wt.httpgw.filter.TrustedAuthFilter</filter-class>
<init-param>
<param-name>clientHostHeader</param-name>
<param-value>X-Forwarded-For</param-value>
</init-param>
</filter>
4. Добавьте параметр TrustedHostFilter в тот же самый файл. Например:
<filter>
<description>Filter allowing a trusted client to specify the remote user for the request</description>
<filter-name>TrustedHostFilter</filter-name>
<filter-class>wt.servlet.TrustedHostFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>TrustedHostFilter</filter-name>
<url-pattern>/trustedAuth/*</url-pattern>
</filter-mapping>
5. Сохраните и закройте web.xml.
6. Откройте оболочку Windchill в командной строке.
7. Если свойство wt.auth.trustedHosts еще не добавлено, добавьте его в xconf.properties:
<Property name="wt.auth.trustedHosts" overridable="true"
targetFile="codebase/wt.properties"
value="<TWXHost_IP> <LBHost_IP>">
TWXHost - наименование хост-компьютера ThingWorx, а LBHost - наименование хост-компьютера балансировщика нагрузки.
8. Запустите xconfmanager -p.
9. Если свойство wt.auth.trustedHosts не задано в файле wt.properties, задайте это свойство с помощью следующей команды xconfmanager: Или добавьте его непосредственно в wtproperties:
xconfmanager --set wt.auth.trustedHosts==<TWXHost_IP> <LBHost_IP> -t codebase/wt.properties -p
TWXHost - наименование хост-компьютера ThingWorx, а LBHost - наименование хост-компьютера балансировщика нагрузки.
10. Запустите сервер методов Windchill.
Теперь приложение Windchill сконфигурировано для использования свойства trustedHost.
* 
Дополнительные сведения об использовании xconfmanager см. в разделе "Использование утилиты xconfmanager" справочного центра Windchill.