Otras configuraciones > Configuración de ThingWorx Navigate con un entorno de clúster de Windchill
  
Configuración de ThingWorx Navigate con un entorno de clúster de Windchill
ThingWorx Navigate se puede utilizar con un entorno de clúster de Windchill. Utilice el URL del equilibrador de la carga para conectar ThingWorx Navigate a Windchill. El URL que se utilizará depende de las siguientes condiciones:
Configuración de ThingWorx Navigate: inicio de sesión único o autenticación de Windchill.
Configuración básica de Windchill: protocolo HTTP o HTTPS.
En este tema se incluyen un repaso básico del entorno de clúster y ejemplos de configuraciones con ThingWorx Navigate.
* 
Existen factores de seguridad que se deben tener en cuenta al utilizar un clúster de Windchill en una configuración de ThingWorx Navigate. Antes de utilizar una configuración de clúster en producción, asegúrese de revisar los siguientes detalles.
Diagrama de ThingWorx Navigate configurado con un clúster de Windchill
Información general sobre los clústeres de Windchill
Las ventajas principales de usar un clúster son mayor rendimiento, escalabilidad y fiabilidad. Un clúster tiene estos componentes:
Dos o más hosts de nivel de aplicación que están conectados a una sola instancia de base de datos y que están respaldados por un direccionador del equilibrio de la carga.
Direccionador del equilibrio de la carga: se toman las solicitudes de los clientes, incluidos los usuarios de Windchill y los usuarios de ThingWorx Navigate.El equilibrador de la carga distribuye las solicitudes entre una de las instancias de Windchill. Como resultado, los usuarios se ven menos afectados si un servidor falla o el tráfico es elevado.
Para el resto de la red, este direccionador aparece como servidor único de Windchill. Tiene su propio nombre de host y siempre debe utilizar un protocolo HTTPS.
Para obtener más información acerca de los clústeres, consulte el capítulo "Installing and Configuring a Cluster Windchill Environment" en el centro de ayuda de Windchill.
En las siguientes secciones, se ofrecen cuatro ejemplos de cómo se configura un clúster de Windchill para cada una de las configuraciones de autenticación de ThingWorx Navigate. Se recomienda el inicio de sesión único para ThingWorx Navigate; es la configuración más segura. Las demás configuraciones requieren consideraciones adicionales de configuración y seguridad para asegurarse de que se configure una solución de un extremo a otro.
Inicio de sesión único de ThingWorx Navigate con un clúster de Windchill configurado con HTTPS y OAuth (recomendado)
Esta es la configuración más segura. Los detalles de la configuración son los siguientes:
Tipo de autenticación de ThingWorx Navigate: SSO.
Protocolo de equilibrador de la carga: HTTPS.
Servidores de Windchill: configurados con HTTPS y OAuth. La autenticación SAML es opcional.
Puesto que Windchill es HTTPS, no se produce ninguna terminación de certificado SSL en el equilibrador de la carga.
Verifique el URL del equilibrador de la carga en estos lugares de ThingWorx Composer:
Para ptc-windchill-integration-connector, el valor de URL base es [https]://[LB-host]:[port]/[windchill-web-app]/oauth.
Para ptc-windchill-integration-connector-proxy:
URL base: [https]://[LB-host]
Probar URL de conexión: [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
Inicio de sesión único de ThingWorx Navigate con un clúster de Windchill configurado con HTTP y OAuth
Los detalles de la configuración son los siguientes:
Tipo de autenticación de ThingWorx Navigate: SSO.
Protocolo de equilibrador de la carga: HTTPS.
Servidores de Windchill: configurados HTTP y OAuth. La autenticación SAML es opcional.
Puesto que Windchill es HTTP, no se produce la terminación de certificado SSL en el equilibrador de la carga.
Verifique el URL del equilibrador de la carga en ThingWorx Composer.
Para ptc-windchill-integration-connector, el valor de URL base es [https]://[LB-host]:[port]/[windchill-web-app]/oauth.
Para ptc-windchill-integration-connector-proxy:
URL base: [https]://[LB-host]
Probar URL de conexión: [https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
ThingWorx Navigate con autenticación de Windchill, con un clúster de Windchill configurado con HTTPS
* 
La utilización de certificados en una configuración SSL bidireccional garantiza la codificación y la transferencia de datos segura. Esto se aplica con la validación en ambos lados para confirmar la conexión y la comunicación entre ThingWorx/ThingWorx Navigate y Windchill.
Puesto que solo se soporta Windchill como proveedor de identidades, el uso compartido de credenciales se limita a ThingWorx y Windchill únicamente.
Los detalles de la configuración son los siguientes:
Tipo de autenticación de ThingWorx Navigate: autenticación de Windchill con SSL bidireccional.
Protocolo de equilibrador de la carga: HTTPS.
Tipo de equilibrador de la carga: capa 4
Servidores de Windchill: configurados con HTTPS y SSL bidireccional.
Puesto que Windchill es HTTPS, no se produce ninguna terminación de certificado SSL en el equilibrador de la carga.
Verifique el URL del equilibrador de la carga en ThingWorx Composer. Para ptc-windchill-connector y ptc-windchill-connector-proxy, este es el formato correcto:
https://<loadbalancer_host>:port>/Windchill/sslClientAuth
* 
Solo un equilibrador de la carga que opere en la capa 4 de OSI puede soportar esta configuración.
Si se utiliza un equilibrador de la carga que opera en la capa 7 de OSI, se debe utilizar la autenticación de Windchill con la configuración de host de confianza que se describe a continuación.
ThingWorx Navigate con autenticación de Windchill, con un clúster de Windchill configurado con HTTP
* 
No se recomienda esta configuración alternativa y solo se debe utilizar para la demostración y pruebas de concepto. La configuración conecta ThingWorx Navigate y Windchill sin SSO o SSL. En su lugar, se configura la propiedad de host de confianza.
Si se utiliza un host de confianza, se abre la conexión entre ThingWorx Platform y Windchill para permitir toda la comunicación de la dirección IP del host de confianza identificado. Esto representa un riesgo adicional de ataque de intermediario (MIM). La información confidencial queda expuesta en esta conexión.
Además, aunque el sistema pueda estar detrás de una barrera de seguridad, hay riesgo de ataques internos y errores de configuración de red. Si un atacante vulnera uno de estos límites de red, tiene visibilidad directa a la información sin cifrar que se comparte. Esto aumenta el riesgo para el producto de Windchill existente y la configuración de ThingWorx Navigate.
Es responsabilidad del usuario determinar si está dispuesto a asumir el riesgo de utilizar esta configuración. PTC no recomienda esta configuración y no se hace responsable de posibles ataques o infracciones de seguridad en sistemas configurados mediante la opción de host de confianza.
Los detalles de la configuración son los siguientes:
Tipo de autenticación de ThingWorx Navigate: autenticación de Windchill.
Protocolo de equilibrador de la carga: HTTPS.
Servidores de Windchill: configurados con HTTP y la propiedad trustedHost. Las instrucciones para configurar esta propiedad se indican a continuación.
Puesto que Windchill es HTTP, no se produce la terminación de certificado SSL en el equilibrador de la carga.
Además de los pasos siguientes, asegúrese de realizar los pasos necesarios de la sección "Finalización de la configuración de clúster de Windchill" al final del apartado Configuración de ThingWorx Navigate con autenticación de Windchill.
En la herramienta ThingWorx Navigate Configuration, proporcione este URL en el campo para Windchill:
https://<loadbalancer_host>:port>/Windchill/trustedAuth
Además, hay varios pasos manuales que se deben realizar en Windchill. Es necesario establecer las direcciones IP del servidor de ThingWorx y el equilibrador de la carga como hosts de confianza. De este modo, se protege la conexión de ThingWorx Navigate a Windchill mediante el equilibrador de la carga.
Esto también mejora la seguridad, ya que impide que los hosts de cliente que no son de confianza lleguen al patrón de URL /trustedAuth/ de Windchill a través del equilibrador de la carga.
Siga estos pasos en Windchill:
1. Detenga el servidor de métodos de Windchill.
2. Vaya a WT_HOME/codebase/WEB-INF/web.xml y luego ábralo en un editor de texto.
3. Busque las secciones TrustedSSLAuthFilter y TrustedAuthFilter, y añada el parámetro clientHostHeader en ambas secciones, tal como se indica a continuación. Por ejemplo:
<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. Añada el parámetro TrustedHostFilter al mismo fichero. Por ejemplo:
<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. Guarde y cierre web.xml.
6. Ahora, abra el shell Windchill en un símbolo del sistema.
7. Si aún no se ha añadido wt.auth.trustedHosts, añada la siguiente propiedad a xconf.properties:
<Property name="wt.auth.trustedHosts" overridable="true"
targetFile="codebase/wt.properties"
value="<TWXHost_IP> <LBHost_IP>">
TWXHost es el nombre de host de ThingWorx y LBHost es el nombre de host del equilibrador de la carga.
8. Ejecute xconfmanager -p.
9. Si wt.auth.trustedHosts no se ha definido en el fichero wt.properties, defina la propiedad con el siguiente comando xconfmanager. O bien, añádalo directamente en wtproperties:
xconfmanager --set wt.auth.trustedHosts==<TWXHost_IP> <LBHost_IP> -t codebase/wt.properties -p
TWXHost es el nombre de host de ThingWorx y LBHost es el nombre de host del equilibrador de la carga.
10. Inicie el servidor de métodos de Windchill.
Windchill está ahora configurado con la propiedad trustedHost.
* 
Si se necesita más ayuda sobre la utilización de xconfmanager, busque el tema "Using the xconfmanager Utility" en el centro de ayuda de Windchill.