Outras configurações > Configuração do ThingWorx Navigate com um ambiente de cluster do Windchill
  
Configuração do ThingWorx Navigate com um ambiente de cluster do Windchill
É possível usar o ThingWorx Navigate com um ambiente de cluster do Windchill. Use o URL do balanceador de carga para conectar o ThingWorx Navigate ao Windchill. O URL a ser usado depende destas condições:
Configuração do ThingWorx Navigate — Autenticação de logon único ou do Windchill
Configuração básica do Windchill — Protocolo HTTP ou HTTPS
Este tópico contém uma atualização básica sobre o ambiente de cluster e exemplos de configurações com o ThingWorx Navigate.
* 
Há fatores de segurança que devem ser considerados ao usar um cluster do Windchill em uma configuração do ThingWorx Navigate. Certifique-se de revisar os detalhes abaixo antes de usar uma configuração de cluster na produção.
Diagrama do ThingWorx Navigate configurado com um cluster do Windchill
Informações gerais sobre clusters do Windchill
A vantagem principal ao usar um cluster é o aumento em desempenho, escalabilidade e confiabilidade. Um cluster tem estes componentes:
Dois ou mais hosts da camada do aplicativo que estão conectados a uma única instância de banco de dados e que são intermediados por um roteador de balanceamento de carga.
Roteador de balanceamento de carga — Transfere solicitações de clientes, incluindo usuários do Windchill e usuários do ThingWorx Navigate. O balanceador de carga distribui as solicitações para uma das instâncias do Windchill. Como resultado, os usuários são menos afetados se houver falha em um servidor ou tráfego alto.
Para o resto da rede, esse roteador aparece como um único servidor Windchill. Ele tem seu próprio nome do host e deve sempre usar um protocolo HTTPS.
Para obter mais informações sobre clusters, veja o capítulo “Installing and Configuring a Cluster Windchill Environment” no Windchill Help Center.
Nas seções a seguir, você encontrará quatro exemplos de como configurar um cluster do Windchill para cada uma das configurações de autenticação para o ThingWorx Navigate. Recomenda-se o logon único para o ThingWorx Navigate, pois é a configuração mais segura. As outras configurações requerem considerações adicionais de configuração e segurança, para garantir que uma solução de ponta a ponta seja configurada.
Logon único do ThingWorx Navigate com um cluster do Windchill configurado com HTTPS e OAuth (recomendado)
Esta é a configuração mais segura. A seguir, os detalhes da configuração:
Tipo de autenticação do ThingWorx Navigate — SSO
Protocolo do balanceador de carga — HTTPS
Servidores Windchill — HTTPS e OAuth configurados. A autenticação SAML é opcional.
Como o Windchill é HTTPS, não ocorre terminação do certificado SSL no balanceador de carga.
Verifique o URL do balanceador de carga nestes locais no ThingWorx Composer:
Para ptc-windchill-integration-connector, o Base URL é [https]://[LB-host]:[port]/[windchill-web-app]/oauth
Para ptc-windchill-integration-connector-proxy:
Base URL[https]://[LB-host]
Test Connection URL[https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
Logon único do ThingWorx Navigate com um cluster do Windchill configurado com HTTP e OAuth
A seguir, os detalhes da configuração:
Tipo de autenticação do ThingWorx Navigate — SSO
Protocolo do balanceador de carga — HTTPS
Servidores Windchill — HTTP e OAuth configurados. A autenticação SAML é opcional.
Como o Windchill é HTTP, ocorre terminação do certificado SSL no balanceador de carga.
Verifique o URL do balanceador de carga no ThingWorx Composer.
Para ptc-windchill-integration-connector, o Base URL é [https]://[LB-host]:[port]/[windchill-web-app]/oauth.
Para ptc-windchill-integration-connector-proxy:
Base URL[https]://[LB-host]
Test Connection URL[https]://[LB-host]:[port]/[windchill-web-app]/oauth/servlet/WindchillAuthGW/wt.httpgw.HTTPServer/echo
ThingWorx Navigate com autenticação do Windchill e um cluster do Windchill configurado com HTTPS
* 
O uso de certificados em uma configuração de SSL bidirecional garante a criptografia e a transferência de dados segura. Essa configuração é aplicada com a validação em ambos os lados para confirmar a conexão e comunicação entre o ThingWorx/ThingWorx Navigate e o Windchill.
Como há suporte somente para o Windchill como o provedor de identidade, o compartilhamento de credenciais está limitado ao ThingWorx e o Windchill apenas.
A seguir, os detalhes da configuração:
Tipo de autenticação do ThingWorx Navigate — Autenticação do Windchill com SSL bidirecional
Protocolo do balanceador de carga — HTTPS
Tipo de balanceador de carga — Camada 4
Servidores Windchill — HTTPS e SSL bidirecional configurados
Como o Windchill é HTTPS, não ocorre terminação do certificado SSL no balanceador de carga.
Verifique o URL do balanceador de carga no ThingWorx Composer. Para ptc-windchill-connector e ptc-windchill-connector-proxy, este é o formato correto:
https://<loadbalancer_host>:port>/Windchill/sslClientAuth
* 
Somente um balanceador de carga operando na camada 4 do modelo OSI tem suporte para esta configuração.
Se você estiver usando um balanceador de carga operando na camada 7 do OSI, é necessário usar a autenticação do Windchill com a configuração de host confiável descrita abaixo.
ThingWorx Navigate com autenticação do Windchill e um cluster do Windchill configurado com HTTP
* 
Esta configuração alternativa não é recomendada e deve usada somente para fins de demonstração e prova de conceito. A configuração conecta o ThingWorx Navigate e o Windchill sem SSO ou SSL. Em vez disso, a propriedade de host confiável é configurada.
O uso de um host confiável abre a conexão entre a plataforma ThingWorx e o Windchill para permitir comunicações do endereço IP do host confiável identificado. Essa abertura adiciona o risco de ataques "man-in-the-middle" (MIM). Informações sensíveis são expostas nesta conexão.
Além disso, mesmo que o sistema esteja protegido por firewall, há risco de ataques internos e problemas de configuração da rede. Se um invasor violar um destes limites de rede, ele terá visibilidade direta das informações não criptografadas que estão sendo compartilhadas. Isto adiciona risco ao produto Windchill existente e à configuração do ThingWorx Navigate.
É sua responsabilidade determinar se você deseja aceitar o risco de usar esta configuração. A PTC não recomenda esta configuração e a PTC não se responsabiliza por quaisquer violações de segurança ou ataques em sistemas configurados usando a opção de host confiável.
A seguir, os detalhes da configuração:
Tipo de autenticação do ThingWorx Navigate— Autenticação do Windchill
Protocolo do balanceador de carga — HTTPS
Servidores Windchill — HTTP e a propriedade trustedHost configurados. As instruções para configuração desta propriedade estão abaixo.
Como o Windchill é HTTP, ocorre terminação do certificado SSL no balanceador de carga.
Além dos passos abaixo, certifique-se de executar os passos requeridos na seção "Conclua a configuração de cluster do Windchill" no final de Configuração do ThingWorx Navigate com a autenticação do Windchill.
Na ferramenta ThingWorx Navigate Configuration, forneça este URL no campo para o Windchill:
https://<loadbalancer_host>:port>/Windchill/trustedAuth
Além disso, há vários passos a serem executados manualmente no Windchill. É necessário estabelecer os endereços IP do servidor ThingWorx e o balanceador de carga como hosts confiáveis. Assim, é possível proteger a conexão do ThingWorx Navigate ao Windchill usando o balanceador de carga.
Essa ação também melhora a segurança, impedindo que hosts de clientes não confiáveis alcancem o padrão de URL Windchill do /trustedAuth/ por meio do balanceador de carga.
Siga estes passos no Windchill:
1. Pare o servidor de método do Windchill.
2. Vá para WT_HOME/codebase/WEB-INF/web.xml e, em seguida, abra-o em um editor de texto.
3. Encontre as seções TrustedSSLAuthFilter e TrustedAuthFilter e, em seguida, adicione o parâmetro clientHostHeader, conforme mostrado abaixo, a ambas as seções: Por exemplo:
<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. Adicione o parâmetro TrustedHostFilter ao mesmo arquivo. Por exemplo:
<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. Salve e feche web.xml.
6. Agora, abra uma janela de comando do Windchill.
7. Se wt.auth.trustedHosts não está incluído, adicione a propriedade abaixo a xconf.properties:
<Property name="wt.auth.trustedHosts" overridable="true"
targetFile="codebase/wt.properties"
value="<TWXHost_IP> <LBHost_IP>">
TWXHost é o nome do host do ThingWorx e LBHost é o nome do host do balanceador de carga.
8. Execute xconfmanager -p.
9. Se wt.auth.trustedHosts não está definida no arquivo wt.properties, defina a propriedade usando o comando xconfmanager a seguir. Ou adicione-a diretamente em wtproperties:
xconfmanager --set wt.auth.trustedHosts==<TWXHost_IP> <LBHost_IP> -t codebase/wt.properties -p
TWXHost é o nome do host do ThingWorx e LBHost é o nome do host do balanceador de carga.
10. Inicie o servidor de método do Windchill.
O Windchill está configurado com a propriedade trustedHost agora.
* 
Para obter mais ajuda com o uso de xconfmanager, faça uma busca pelo tópico “Using the xconfmanager Utility” no Windchill Help Center.