기타 구성 > 클러스터형 Windchill 환경으로 ThingWorx Navigate 구성
  
클러스터형 Windchill 환경으로 ThingWorx Navigate 구성
클러스터형 Windchill 환경과 함께 ThingWorx Navigate를 사용할 수 있습니다. 부하 분산 장치의 URL을 사용하여 ThingWorx NavigateWindchill에 연결합니다. 사용할 URL은 다음 조건에 따릅니다.
ThingWorx Navigate 구성 -SSO( Single Sign-on) 또는 Windchill 인증
Windchill 기본 구성 - HTTP 또는 HTTPS 프로토콜
이 항목에는 클러스터형 환경과 ThingWorx Navigate의 구성 예에 대한 기본 정보가 포함되어 있습니다.
* 
ThingWorx Navigate 구성에서 Windchill 클러스터를 사용할 경우 고려해야 할 보안 요소들이 있습니다. 생산 환경에서 클러스터 구성을 사용하기 전에 아래 세부 정보를 반드시 검토하십시오.
Windchill 클러스터로 구성된 ThingWorx Navigate 다이어그램
Windchill 클러스터에 대한 배경 지식
클러스터를 사용함으로써 얻을 수 있는 가장 주된 이점은 성능, 확장성 및 신뢰도의 향상입니다. 클러스터에는 다음 구성 요소들이 있습니다.
단일 데이터베이스 인스턴스에 연결되어 있으며 부하 분산 라우터가 앞에 있는 두 개 이상의 응용 프로그램 계층 호스트
부하 분산 라우터 - Windchill 사용자와 ThingWorx Navigate 사용자를 포함하여 클라이언트로부터 요청을 받습니다. 부하 분산 장치는 이러한 요청을 Windchill 인스턴스 중 하나에 분산시킵니다. 따라서 서버의 작동이 중단되거나 트래픽이 많더라도 사용자들은 영향을 덜 받습니다.
나머지 네트워크에는 이 라우터가 단일 Windchill 서버로 나타납니다. 자체 호스트 이름이 있으며 항상 HTTPS 프로토콜을 사용해야 합니다.
클러스터에 관한 보다 자세한 정보는 Windchill 도움말 센터에서 "클러스터 Windchill 환경 설치 및 구성"을 확인하십시오.
다음 단원에는 ThingWorx Navigate에 대한 각 인증 구성에 대해 Windchill 클러스터를 구성하는 방법의 4가지 예가 나와 있습니다. ThingWorx Navigate에는 보안성이 가장 뛰어난 구성인 Single Sign-on을 권장합니다. 다른 구성을 사용하려면 완전한 솔루션이 구성될 수 있도록 추가적인 설정과 보안 고려 사항이 필요합니다.
HTTPS 및 OAuth로 구성된 Windchill 클러스터를 사용한 ThingWorx Navigate Single Sign-on(권장)
보안성이 가장 뛰어난 설정입니다. 구성 세부 정보는 다음과 같습니다.
ThingWorx Navigate 인증 유형 - SSO
부하 분산 장치 프로토콜 - HTTPS
Windchill 서버 - HTTPS 및 OAuth 구성됨. SAML 인증은 선택 사항입니다.
Windchill은 HTTPS이기 때문에 부하 분산 장치에서 SSL 인증서 종료가 발생하지 않습니다.
ThingWorx Composer의 다음 위치에서 부하 분산 장치 URL을 확인합니다.
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
HTTP 및 OAuth로 구성된 Windchill 클러스터를 사용한 ThingWorx Navigate Single Sign-on
구성 세부 정보는 다음과 같습니다.
ThingWorx Navigate 인증 유형 - SSO
부하 분산 장치 프로토콜 - HTTPS
Windchill 서버 - HTTP 및 OAuth 구성됨. SAML 인증은 선택 사항입니다.
Windchill은 HTTP이기 때문에 부하 분산 장치에서 SSL 인증서 종료가 발생합니다.
ThingWorx Composer에서 부하 분산 장치의 URL을 확인합니다.
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
HTTPS로 구성된 Windchill 클러스터와 함께 Windchill 인증을 사용한 ThingWorx Navigate
* 
양방향 SSL 구성에서 인증서를 사용하면 암호화와 보안 데이터 전송이 보장됩니다. 이 과정은 ThingWorx/ThingWorx NavigateWindchill 사이의 연결 및 커뮤니케이션을 확인하기 위해 양쪽을 모두 검증함으로써 구현됩니다.
저희는 ID 공급자로 Windchill만 지원하기 때문에 자격 증명은 ThingWorxWindchill에만 국한되어 공유됩니다.
구성 세부 정보는 다음과 같습니다.
ThingWorx Navigate 인증 유형 - 양방향 SSL을 통한 Windchill 인증
부하 분산 장치 프로토콜 - HTTPS
부하 분산 장치 유형 - 계층 4
Windchill 서버 - HTTPS 및 양방향 SSL 구성됨.
Windchill은 HTTPS이기 때문에, 부하 분산 장치에서 SSL 인증서 종료가 발생하지 않습니다.
ThingWorx Composer에서 부하 분산 장치의 URL을 확인합니다. ptc-windchill-connectorptc-windchill-connector-proxy의 경우 올바른 형식은 다음과 같습니다.
https://<loadbalancer_host>:port>/Windchill/sslClientAuth
* 
OSI 계층 4에서 작동하는 부하 분산 장치만 이 구성을 지원할 수 있습니다.
OSI 계층 7에서 작동하는 부하 분산 장치를 사용하는 경우 아래 설명된 신뢰할 수 있는 호스트 구성과 함께 Windchill 인증을 사용해야 합니다.
HTTP로 구성된 Windchill 클러스터와 함께 Windchill 인증을 사용한 ThingWorx Navigate
* 
이 대체 구성은 권장되지 않으며, 데모와 개념 증명 목적으로만 사용해야 합니다. 이 구성은 SSO 또는 SSL 없이 ThingWorx NavigateWindchill을 연결합니다. 대신 신뢰할 수 있는 호스트 속성이 구성되어 있습니다.
신뢰할 수 있는 호스트를 사용할 경우 ThingWorx 플랫폼과 Windchill 사이의 연결이 개방되어 식별된 신뢰할 수 있는 호스트의 IP 주소로부터의 모든 커뮤니케이션을 허용하게 됩니다. 이 구성은 메시지 가로채기(MIM: Man in the Middle) 공격을 받을 위험성이 있습니다. 이 연결을 통해 중요 정보가 노출됩니다.
또한, 시스템이 방화벽으로 보호되고 있더라도 내부 공격과 잘못된 네트워크 구성으로 인한 위험이 존재합니다. 공격자가 이러한 네트워크 경계 중 하나에 침투하게 될 경우, 공유 중인 암호화되어 있지 않은 정보를 직접 볼 수 있습니다. 이 구성은 기존 Windchill 제품과 ThingWorx Navigate 구성에 추가적인 위험을 제공합니다.
이 설정을 사용함으로써 발생할 수 있는 위험을 받아들일지 여부를 판단하는 것은 사용자의 책임입니다. PTC에서는 이 구성을 권장하지 않으며 신뢰할 수 있는 호스트 옵션을 사용하여 구성된 시스템에 대한 모든 보안 침해나 공격에 어떠한 책임도 지지 않습니다.
구성 세부 정보는 다음과 같습니다.
ThingWorx Navigate 인증 유형 - Windchill 인증
부하 분산 장치 프로토콜 - HTTPS
Windchill 서버 - HTTP 및 trustedHost 속성 구성됨. 이 속성 구성 지침은 아래에 나와 있습니다.
Windchill은 HTTP이기 때문에 부하 분산 장치에서 SSL 인증서 종료가 발생합니다.
아래 단계 외에도 Windchill 인증을 사용하여 ThingWorx Navigate 설정의 끝 부분에 나오는 "Windchill 클러스터 구성 완료" 단원에 나오는 필요한 단계를 수행하십시오.
ThingWorx Navigate 구성 도구에서 Windchill에 대한 필드에 이 URL을 입력합니다.
https://<loadbalancer_host>:port>/Windchill/trustedAuth
이외에도 Windchill 측에서 수행해야 할 몇 가지 수동 단계가 있습니다. ThingWorx 서버의 IP 주소와 부하 분산 장치를 신뢰할 수 있는 호스트로 설정해야 합니다. 이 방법을 통해 부하 분산 장치를 사용하여 Windchill로의 ThingWorx Navigate 연결을 안전하게 보호할 수 있습니다.
또한 부하 분산 장치를 통해 신뢰할 수 없는 클라이언트 호스트가 Windchill/trustedAuth/ URL 패턴에 도달할 수 없도록 방지함으로써 보안을 향상시킵니다.
Windchill 측에서 다음 단계를 수행하십시오.
1. Windchill 메서드 서버를 중지합니다.
2. WT_HOME/codebase/WEB-INF/web.xml로 이동한 다음 이 파일을 텍스트 편집기에서 엽니다.
3. TrustedSSLAuthFilterTrustedAuthFilter 섹션을 찾은 다음 매개 변수 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>">
TWXHostThingWorx 호스트 이름이고 LBHost는 부하 분산 장치 호스트 이름입니다.
8. xconfmanager -p를 실행합니다.
9. wt.properties 파일에 wt.auth.trustedHosts가 설정되어 있지 않은 경우 다음 xconfmanager 명령을 사용하여 속성을 설정합니다. 또는 wtproperties에서 속성을 직접 추가합니다.
xconfmanager --set wt.auth.trustedHosts==<TWXHost_IP> <LBHost_IP> -t codebase/wt.properties -p
TWXHostThingWorx 호스트 이름이고 LBHost는 부하 분산 장치 호스트 이름입니다.
10. Windchill 메서드 서버를 시작합니다.
Windchill이 이제 trustedHost 속성으로 구성되었습니다.
* 
xconfmanager를 사용할 때 추가 도움이 필요한 경우 Windchill 도움말 센터에서 "Using the xconfmanager Utility" 항목을 검색하십시오.