Ignite에 대한 SSL/TLS 구성
ThingWorx HA 클러스터링을 사용할 때 Ignite에 대한 SSL 또는 TLS를 구성할 수 있습니다.
Ignite 구성
SSL을 사용하여 Ignite를 실행하려면 키 저장소 경로와 암호를 추가하는 Ignite 구성 파일에서 SslContextFactory를 인스턴스화해야 합니다. 다음 예에서는 키 저장소 경로가 /ThingworxPlatform/ignite-keystore/ignite.pfx입니다.
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="sslContextFactory">
<bean class="org.apache.ignite.ssl.SslContextFactory">
<property name="keyStoreFilePath" value="/ThingworxPlatform/ignite-keystore/ignite.pfx"/>
<property name="keyStorePassword" value="ptcptc"/>
<property name="trustManagers">
<bean class="org.apache.ignite.ssl.SslContextFactory" factory-method="getDisabledTrustManager"/>
</property>
</bean>
</property>
</bean>
Ignite 실행:
./ignite.sh config/default-config.xml
Ignite를 시작하면 콘솔에 다음 텍스트가 표시되어야 합니다. Security status [authentication=off, tls/ssl=on]
ThingWorx 구성
이제 ThingWorx에서 Ignite를 구성할 수 있습니다. Ignite는 클라이언트로 실행하거나 내장형으로 실행할 수 있으며 이 구성은 어느 옵션에도 적용됩니다.
1. Ignite 인증서를 인스턴스에 복사하거나 ThingWorx를 실행하는 시스템에서 Ignite 인증서를 사용할 수 있는지 확인합니다.
2. platform-settings.json 파일을 수정하여 SSL을 활성화합니다. igniteKeyStoreFilePath 및 igniteKeyStorePassword도 수정합니다.
"cache": {
"init-timeout": "30 seconds",
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"cache-mappings": {},
"ignite": {
"instance-name": "twx-core-server",
"client-mode": false,
"address-resolver" : {
"type": "zookeeper",
"connection": "localhost:2181"
},
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "ptcptc"
}
ThingWorx Security 관리 도구를 사용하여 암호 암호화
platform-settings.json 파일에 일반 암호를 삽입하는 것을 방지하려는 경우 보안 도구를 사용하여 twx-keystore 내의 암호를 암호화하면 됩니다. encrypt.ignite.keystore.password를 사용하여 암호를 암호화해야 합니다.
./security-common-cli keystore.conf set encrypt.ignite.keystore.password "ptcptc"
그런 다음 ThingWorx가 키 저장소에서 암호를 선택하도록 platform-settings.json 파일을 변경합니다.
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "encrypt.ignite.keystore.password"