3.3. Apache Karaf 컨테이너에서 Cryostat에 대해 SSL/TLS 활성화
다음 절차에서는 키 저장소 파일에 서명된 X.509 인증서 및 개인 키 쌍을 이미 생성했다고 가정합니다. alice.ks 는 키 저장소 암호, StorePass, 키 암호, KeyPass 입니다.
Karaf 컨테이너에서 Cryostat에 대해 SSL/TLS를 활성화하려면 다음을 수행합니다.
Pax 웹 서버가
etc/undertow.xml파일에서 구성을 가져오도록 구성되었는지 확인합니다.etc/org.ops4j.pax.web.cfg파일의 내용을 보면 다음 설정이 표시됩니다.org.ops4j.pax.web.config.file=${karaf.etc}/undertow.xmlorg.ops4j.pax.web.config.file=${karaf.etc}/undertow.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 텍스트 편집기에서
etc/org.ops4j.pax.web.cfg파일을 열고 다음 행을 추가합니다.org.osgi.service.http.port.secure=8443 org.osgi.service.http.secure.enabled=true
org.osgi.service.http.port.secure=8443 org.osgi.service.http.secure.enabled=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 파일을 저장하고 닫습니다.
etc/org.ops4j.pax.web.cfg.-
텍스트 편집기에서
etc/undertow.xml파일을 엽니다. 다음 단계에서는 설치 시간 이후 변경되지 않은 기본undertow.xml파일로 작업한다고 가정합니다. XML 요소
http-listener및https-listener를 검색합니다.http-listener요소를 주석 처리하고(<!--과> )--https-listener요소의 주석을 제거하고(두 행을 통해 수신 대기)합니다. 편집된 XML 조각은 다음과 같아야 합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow w:keystore요소를 검색합니다. 기본적으로w:keystore요소는 다음과 같이 구성됩니다.<w:keystore path="${karaf.etc}/certs/server.keystore" provider="JKS" alias="server" keystore-password="secret" key-password="secret" generate-self-signed-certificate-host="localhost" /><w:keystore path="${karaf.etc}/certs/server.keystore" provider="JKS" alias="server" keystore-password="secret" key-password="secret" generate-self-signed-certificate-host="localhost" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow alice인증서를 Cryostat 서버의 인증서로 설치하려면 다음과 같이w:keystore요소 속성을 수정합니다.-
파일 시스템에서
alice.ks파일의 절대 위치에 대한경로를설정합니다. -
provider를JKS로 설정합니다. -
키 저장소의
alice인증서 별칭에alias를 설정합니다. -
keystore-password를 키 저장소를 잠금 해제하는 암호 값으로 설정합니다. -
alice개인 키를 암호화하는 암호 값으로key-password를 설정합니다. -
generate-self-signed-certificate-host속성 설정을 삭제합니다.
-
파일 시스템에서
예를 들어
alice.ks키 저장소를 설치한 후 수정된w:keystore요소는 다음과 같습니다.<w:keystore path="${karaf.etc}/certs/alice.ks" provider="JKS" alias="alice" keystore-password="StorePass" key-password="KeyPass" /><w:keystore path="${karaf.etc}/certs/alice.ks" provider="JKS" alias="alice" keystore-password="StorePass" key-password="KeyPass" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow 보안 HTTPS 포트가 바인딩되는 IP 주소를 지정하는 데 사용되는 <
interface name="secure"> 태그를 검색합니다. 기본적으로 이 요소는 다음과 같이 주석 처리됩니다.<!--<interface name="secure">--> <!--<w:inet-address value="127.0.0.1" />--> <!--</interface>--><!--<interface name="secure">--> <!--<w:inet-address value="127.0.0.1" />--> <!--</interface>-->Copy to Clipboard Copied! Toggle word wrap Toggle overflow 요소의 주석을 제거하고
value속성을 사용자 지정하여 HTTPS 포트가 바인딩되는 IP 주소를 지정합니다. 예를 들어 와일드카드 값인0.0.0.0은 사용 가능한 모든 IP 주소에 바인딩하도록 HTTPS를 구성합니다.<interface name="secure"> <w:inet-address value="0.0.0.0" /> </interface><interface name="secure"> <w:inet-address value="0.0.0.0" /> </interface>Copy to Clipboard Copied! Toggle word wrap Toggle overflow <
socket-binding name="https"태그를 검색하고 주석 처리를 해제합니다. 이 태그의 주석 처리를 해제하면 다음과 같이 표시됩니다.<socket-binding name="https" interface="secure" port="${org.osgi.service.http.port.secure}" /><socket-binding name="https" interface="secure" port="${org.osgi.service.http.port.secure}" />Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
파일을 저장하고 닫습니다.
etc/undertow.xml. - 구성 변경 사항을 적용하려면 Fuse 컨테이너를 다시 시작합니다.