자체 서명된 인증서 재생성
다음 명령을 실행하여 <ThingWorx Flow 설치 위치>/SSL 디렉터리에서 orchestration.csr 및 orchestration.crt 파일을 재생성합니다.
1. <ThingWorx Flow 설치 위치>/SSL 디렉터리를 백업합니다.
2. <ThingWorx Flow 설치 위치>/SSL 디렉터리 아래의 모든 파일을 삭제합니다.
3. openssl 유틸리티 사용 시 다음 명령을 실행하여 인증서를 생성합니다.
◦ <openssl_cmd> req -nodes -sha256 -newkey rsa:2048 -config <openssl_conf> -keyout "<ThingWorx Flow 설치 위치>/SSL/orchestration.key" -subj "/C=<C>/O=<O>/OU=<OU>/CN=<CN>" -out "<ThingWorx Flow 설치 위치>/SSL/orchestration.csr"
◦ <openssl_cmd> x509 -req -days 365 -sha256 -in "<ThingWorx Flow 설치 위치>/SSL/orchestration.csr" -signkey "<ThingWorx Flow 설치 위치>/SSL/orchestration.key" -out "<ThingWorx Flow 설치 위치>/SSL/orchestration.crt"
여기서 각 항목은 다음과 같습니다.
<C> - 국가 이름(두 자로 된 코드)
<O> - 조직 이름(예: 회사)
<OU> - 조직 단위 이름(예: 부서)
<CN> - 공통 이름(예: 서버 FQDN), 정규화된 도메인 이름(예: win-f3ai9djq75j)
<openssl_cmd> - Windows: cd C:/opscode/chef/embedded/bin/openssl 또는 cd C:/cinc-project/cinc/embedded/bin을 실행하고, openssl을 입력하고, 위의 명령을 실행합니다.
Linux: openssl을 입력하고 위의 명령을 실행합니다.
<openssl_conf> - Windows: C:/opscode/chef/embedded/ssl/openssl.cnf 또는 C:/cinc-project/cinc/embedded/ssl/openssl.cnf
Linux: /etc/pki/tls/openssl.cnf
예:
Windows - C:/opscode/chef/embedded/bin/openssl req -nodes -sha256 -newkey rsa:2048 -config C:/opscode/chef/embedded/ssl/openssl.cnf -keyout "C:\orchestration.key" -subj "/C=US/O=PTC/OU=IT Department/CN=WIN-F3AI9DJQ75J" -out "C:\orchestration.csr"
Windows - C:/opscode/chef/embedded/bin/openssl x509 -req -days 365 -sha256 -in "C:\PROGRA~1\twx\THINGW~2/SSL/orchestration.csr" -signkey "C:\orchestration.key" -out "C:\orchestration.crt"
4. ThingWorx Flow 9.1.0 이상 및 ThingWorx Flow 9.0.3 이상의 경우:
a. <ThingWorx Flow 설치 위치>/SSL 폴더 아래에서 nginx-keyfile 파일과 암호화된 개인 키에 대한 새 암호를 생성합니다.
b. openssl 유틸리티 사용 시 다음 명령을 실행하여 nginx 개인 키를 암호화합니다.
<openssl_cmd> rsa -aes256 -passout pass:<nginx-keyfile에 정의된 것과 동일한 암호> -in "<ThingWorx Flow 설치 위치>/SSL/orchestration.key" -out "<ThingWorx Flow 설치 위치>/SSL/orchestration_enc.key"
c. orchestration.key를 삭제하고 orchestration_enc.key의 이름을 orchestration.key로 변경합니다.
5. (Linux에만 해당) 다음 권한을 설정합니다.
◦ sudo chown flowuser:flowuser <ThingWorx Flow 설치 위치>\SSL\orchestration.crt - 여기서 flowuser는 ThingWorx Flow 설치 관리자를 실행한 사용자입니다.
◦ sudo chown flowuser:flowuser <ThingWorx Flow 설치 위치>\SSL\orchestration.key
여기서 flowuser는 ThingWorx Flow 설치 관리자를 실행한 사용자입니다.
◦ sudo chcon -t httpd_sys_content_t <ThingWorx Flow 설치 위치>\SSL\orchestration.crt
◦ sudo chcon -t httpd_sys_content_t <ThingWorx Flow 설치 위치>\SSL\orchestration.key
◦ ThingWorx Flow 9.1.0 및 ThingWorx Flow 9.03 이상의 경우:
▪ sudo chown flowuser:flowuser <ThingWorx Flow 설치 위치>/SSL/nginx-keyfile
여기서 flowuser는 ThingWorx Flow 설치 관리자를 실행한 사용자입니다.
▪ sudo chcon -t httpd_sys_content_t <ThingWorx Flow 설치 위치>/SSL/nginx-keyfile
6. <ThingWorx Flow 설치 디렉터리>\SSL 폴더에 있는 extra.crt 파일을 변경하고 첫 번째 인증서의 콘텐츠를 자체 서명된 새 인증서 콘텐츠로 바꿉니다.
7. RabbitMQ, ThingWorx-Flow, Nginx 및 ThingWorx-Foundation 서비스를 다시 시작합니다.