TLS Encryption

대부분의 브라우저는 TLS로 보안이 적용된 HTTPS 웹 페이지에서 HTTP 및 WS(WebSocket)를 통해 리소스를 로드할 수 없습니다. 따라서 플레이어가 HTTPS 페이지에 있는 경우, 플레이어는 TLS로 보안이 적용된 httpswss URL을 통해 스트리밍을 요청해야 합니다. 이 경우 OvenMediaEngine에 TLS 인증서를 적용해야 합니다.

Docker

Docker 호스트의 인증서를 연결하려면, Docker compose 파일의 예제 주석을 해제하거나 Docker run 명령에서 볼륨을 수동으로 연결하십시오. 예: -v ~/local/cert/path:/opt/ovenmediaengine/bin/certs. <TLS>를 위한 포트는 <TLSPort>에서 설정할 수 있습니다. 현재 LLHLS 및 WebRTC Signaling이 TLS를 지원합니다.

<!-- /Server -->
<Bind>
    ...
    <!-- For API Server -->
    <Managers>
        <API>
            <Port>8081</Port>
            <TLSPort>8082</TLSPort>
            <WorkerCount>1</WorkerCount>
        </API>
    </Managers>

    <!-- For Providers -->
    <Providers>
        <WebRTC>
            <Signalling>
                <Port>3333</Port>
                <TLSPort>3334</TLSPort>
                <WorkerCount>1</WorkerCount>
            </Signalling>
            ...
        </WebRTC>
    </Providers>

    <!-- For Publishers -->
    <Publishers>
        <LLHLS>
            <Port>80</Port>
            <TLSPort>443</TLSPort>
        </LLHLS>
        <WebRTC>
            <Signalling>
                <Port>3333</Port>
                <TLSPort>3334</TLSPort>
            </Signalling>
            ...
        </WebRTC>
    </Publishers>
    ...
</Bind>

인증서 파일을 다음과 같이 추가하십시오:

HLS 및 WebRTC 시그널링 서버에 대해 HTTP를 활성화하려면, TLS 엘리먼트를 활성화하고 PEM 형식의 인증서 파일을 설치해야 합니다. 여기에는 <CertPath>를 통한 서버 인증서 지정과 <KeyPath>를 통한 개인 키 파일 지정이 포함됩니다. 이 경로들은 실행 파일로부터의 절대 경로 또는 상대 경로로 지정할 수 있습니다. 그러나 서버 인증서가 중간 인증서(intermediate certificate)를 사용하여 발급된 경우, 일부 브라우저에서 인증서의 신뢰성에 대한 문제를 제기할 수 있습니다. 이를 해결하기 위해 인증 기관(CA)에서 제공하는 체인 인증서 번들을 <ChainCertPath>에 설정할 수 있습니다.

인증서 설정이 올바르게 구성되었다고 가정하면, WebRTC 스트리밍은 wss://url 프로토콜을 통해 재생할 수 있으며, LLHLS 스트리밍은 https://url을 통해 액세스할 수 있습니다.

Let's Encrypt,

만약 인증서 생성을 위해 certbot을 사용했다면, 생성된 PEM 파일들을 다음과 같이 Server.xml에 연결할 수 있습니다:

Last updated