3.3. Apache Karaf 컨테이너에서 Cryostat에 대해 SSL/TLS 활성화


다음 절차에서는 키 저장소 파일에 서명된 X.509 인증서 및 개인 키 쌍을 이미 생성했다고 가정합니다. alice.ks 는 키 저장소 암호, StorePass, 키 암호, KeyPass 입니다.

Karaf 컨테이너에서 Cryostat에 대해 SSL/TLS를 활성화하려면 다음을 수행합니다.

  1. Pax 웹 서버가 etc/undertow.xml 파일에서 구성을 가져오도록 구성되었는지 확인합니다. etc/org.ops4j.pax.web.cfg 파일의 내용을 보면 다음 설정이 표시됩니다.

    org.ops4j.pax.web.config.file=${karaf.etc}/undertow.xml
  2. 텍스트 편집기에서 etc/org.ops4j.pax.web.cfg 파일을 열고 다음 행을 추가합니다.

    org.osgi.service.http.port.secure=8443
    org.osgi.service.http.secure.enabled=true

    파일을 저장하고 닫습니다. etc/org.ops4j.pax.web.cfg.

  3. 텍스트 편집기에서 etc/undertow.xml 파일을 엽니다. 다음 단계에서는 설치 시간 이후 변경되지 않은 기본 undertow.xml 파일로 작업한다고 가정합니다.
  4. XML 요소 http-listenerhttps-listener 를 검색합니다. http-listener 요소를 주석 처리하고(< !--과 -- > ) https-listener 요소의 주석을 제거하고(두 행을 통해 수신 대기)합니다. 편집된 XML 조각은 다음과 같아야 합니다.

    <!-- HTTP(S) Listener references Socket Binding (and indirectly - Interfaces) -->
    <!-- http-listener name="http" socket-binding="http" /> -->
    verify-client: org.xnio.SslClientAuthMode.NOT_REQUESTED, org.xnio.SslClientAuthMode.REQUESTED, org.xnio.SslClientAuthMode.REQUIRED
    <!--<https-listener name="https"
                    socket-binding="https"
                    security-realm="https" verify-client="NOT_REQUESTED"
                    enabled="true" />
    -->
    <https-listener name="https"
                    socket-binding="https"
                    worker="default"
                    buffer-pool="default"
                    enabled="true"
    
                    receive-buffer="65536"
                    send-buffer="65536"
                    tcp-backlog="128"
                    tcp-keep-alive="false"
                    read-timeout="-1"
                    write-timeout="-1"
                    max-connections="1000000"
    
                    resolve-peer-address="false"
                    disallowed-methods="TRACE OPTIONS"
                    secure="true"
    
                    max-post-size="10485760"
                    buffer-pipelined-data="false"
                    max-header-size="1048576"
                    max-parameters="1000"
                    max-headers="200"
                    max-cookies="200"
                    allow-encoded-slash="false"
                    decode-url="true"
                    url-charset="UTF-8"
                    always-set-keep-alive="true"
                    max-buffered-request-size="16384"
                    record-request-start-time="true"
                    allow-equals-in-cookie-value="false"
                    no-request-timeout="60000"
                    request-parse-timeout="60000"
                    rfc6265-cookie-validation="false"
                    allow-unescaped-characters-in-url="false"
    
                    certificate-forwarding="false"
                    proxy-address-forwarding="false"
    
                    enable-http2="false"
                    http2-enable-push="false"
                    http2-header-table-size="4096"
                    http2-initial-window-size="65535"
                    http2-max-concurrent-streams="-1"
                    http2-max-frame-size="16384"
                    http2-max-header-list-size="-1"
    
                    require-host-http11="false"
                    proxy-protocol="false"
    
                    security-realm="https"
                    verify-client="NOT_REQUESTED"
                    enabled-cipher-suites="TLS_AES_256_GCM_SHA384"
                    enabled-protocols="TLSv1.3"
                    ssl-session-cache-size="0"
                    ssl-session-timeout="0"
    />
  5. 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" />

    alice 인증서를 Cryostat 서버의 인증서로 설치하려면 다음과 같이 w:keystore 요소 속성을 수정합니다.

    • 파일 시스템에서 alice.ks 파일의 절대 위치에 대한 경로를 설정합니다.
    • providerJKS 로 설정합니다.
    • 키 저장소의 alice 인증서 별칭에 alias 를 설정합니다.
    • keystore-password 를 키 저장소를 잠금 해제하는 암호 값으로 설정합니다.
    • alice 개인 키를 암호화하는 암호 값으로 key-password 를 설정합니다.
    • generate-self-signed-certificate-host 속성 설정을 삭제합니다.
  6. 예를 들어 alice.ks 키 저장소를 설치한 후 수정된 w:keystore 요소는 다음과 같습니다.

    <w:keystore path="${karaf.etc}/certs/alice.ks" provider="JKS" alias="alice"
                keystore-password="StorePass" key-password="KeyPass" />
  7. 보안 HTTPS 포트가 바인딩되는 IP 주소를 지정하는 데 사용되는 < interface name="secure" > 태그를 검색합니다. 기본적으로 이 요소는 다음과 같이 주석 처리됩니다.

    <!--<interface name="secure">-->
        <!--<w:inet-address value="127.0.0.1" />-->
    <!--</interface>-->

    요소의 주석을 제거하고 value 속성을 사용자 지정하여 HTTPS 포트가 바인딩되는 IP 주소를 지정합니다. 예를 들어 와일드카드 값인 0.0.0.0 은 사용 가능한 모든 IP 주소에 바인딩하도록 HTTPS를 구성합니다.

    <interface name="secure">
        <w:inet-address value="0.0.0.0" />
    </interface>
  8. < socket-binding name="https" 태그를 검색하고 주석 처리를 해제합니다. 이 태그의 주석 처리를 해제하면 다음과 같이 표시됩니다.

    <socket-binding name="https" interface="secure" port="${org.osgi.service.http.port.secure}" />
  9. 파일을 저장하고 닫습니다. etc/undertow.xml.
  10. 구성 변경 사항을 적용하려면 Fuse 컨테이너를 다시 시작합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.