구성: SSL 설정하기

정보

Agent DVR의 무료 버전은 HTTP를 사용한 로컬 연결에 적합합니다. 하지만 원격 연결의 경우 보안이 필수이며, 여기서 SSL이 필요합니다. 설정 없이 Agent DVR에 안전하게 원격 연결하려면 당사의 원격 웹 포털을 사용하세요.

중요: SSL, DNS 및 포트 포워딩 설정은 다소 복잡할 수 있으며, 모든 네트워크에서 안정적으로 작동할 것을 보장할 수 없습니다. 원격 액세스를 위해 당사의 원격 웹 포털을 사용하는 것을 권장합니다. 카메라에 연결된 Agent를 실행하는 컴퓨터는 여전히 필요하지만 다른 작업을 처리할 필요가 없습니다.

유용한 팁: SSL 및 DNS를 설정하고 실행하면 모바일 장치에서 Agent DVR에 액세스하고 브라우저의 도구 메뉴를 통해 앱으로 추가할 수 있습니다.

Windows의 SSL

Agent DVR는 이제 SSL을 직접 처리하므로, 개인 키를 포함하는 PKCS#12 인증서 파일(.p12 또는 .pfx)만 있으면 됩니다. 더 이상 Windows에 인증서를 설치하거나 netsh로 바인딩할 필요가 없습니다.

옵션 1 - 빠른 자체 서명 인증서 (테스트용): PowerShell에서 다음을 실행하여 localhost용 인증서를 만들고 .p12로 내보냅니다 (비밀번호를 원하는 대로 변경하세요):

$cert = New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "Cert:\CurrentUser\My" -NotAfter (Get-Date).AddYears(5)
$pwd = ConvertTo-SecureString -String "yourpassword" -Force -AsPlainText
Export-PfxCertificate -Cert $cert -FilePath "C:\Agent\certificate.p12" -Password $pwd

공개 호스트명의 경우 localhost 대신 -DnsName "youragentserver.ddns.net"을 사용하세요.

옵션 2 - 실제 인증서 (Let's Encrypt): Let's Encrypt 사용 방법 을 따른 후 생성된 .pem 파일을 openssl로 .p12로 변환하세요:

openssl pkcs12 -export -out C:\Certbot\live\youragentserver.ddns.net\certificate.p12 -inkey C:\Certbot\live\youragentserver.ddns.net\privkey.pem -in C:\Certbot\live\youragentserver.ddns.net\fullchain.pem

Agent DVR을 열고, 서버 아이콘 - 설정 - 로컬 서버 탭을 클릭한 후 다음을 설정하세요:

  • SSL 포트: HTTPS를 제공할 포트입니다. 예: 8443 (또는 표준 HTTPS 포트인 443).
  • SSL 인증서: .p12 파일의 전체 경로입니다. 예: C:\Agent\certificate.p12
  • SSL 비밀번호: 인증서를 만들 때 설정한 비밀번호입니다.

확인을 클릭하세요. Agent는 로컬 서버를 자동으로 다시 시작합니다. 로그에서 Accepting SSL connections at https://...를 확인하세요. 이제 https://your.server.address:8443에서 UI를 로드할 수 있습니다. SSL 포트에 http://로 접속하면 빈 응답이 반환되므로 반드시 https://를 사용하세요.

자체 서명 인증서(옵션 1)는 브라우저에서 신뢰하지 않으므로 처음 방문할 때 개인정보 보호 경고가 표시됩니다. 고급을 클릭한 후 localhost로 계속 진행(안전하지 않음)을 클릭하여 진행하세요. 이는 자체 서명 인증서에서 예상되는 동작입니다. 실제 인증서(옵션 2)는 경고를 표시하지 않습니다.

Linux / macOS의 SSL

Agent DVR는 개인 키를 포함하는 PKCS#12 인증서 파일(.p12 또는 .pfx)에서 SSL을 직접 종료합니다.

빠른 자체 서명 인증서 (테스트용):

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1825 -nodes -subj "/CN=localhost"
openssl pkcs12 -export -out certificate.p12 -inkey key.pem -in cert.pem -passout pass:yourpassword

실제 인증서 (Let's Encrypt): Let's Encrypt 사용 방법 을 따른 후 생성된 .pem 파일을 .p12로 변환합니다 (인증서를 저장한 폴더에서 실행):

openssl pkcs12 -export -out certificate.p12 -inkey privkey.pem -in fullchain.pem

Agent DVR의 로컬 UI에서 서버 아이콘을 클릭하고, 서버 설정, 로컬 서버 탭으로 이동한 후 SSL 포트, SSL 인증서 (.p12 파일의 전체 경로) 및 SSL 비밀번호를 설정하고 확인을 클릭합니다. Agent는 로컬 서버를 자동으로 다시 시작하며 https://your.server.address:8443에서 UI를 로드할 수 있습니다 (https:// 사용).

Linux에서는 1024 이하의 포트(표준 HTTPS 포트 443 포함)에 root 권한이 필요합니다. 서비스로 설치된 Agent DVR은 root로 실행되므로 443이 작동합니다. 일반 사용자로 수동 실행 시 8443 같은 높은 포트를 선택하세요.
인증서 파일이 Agent 프로세스에서 읽을 수 있는지 확인하세요. 필요한 경우 chmod 644 certificate.p12를 실행하세요. 자체 서명 인증서는 처음에 브라우저 개인정보 경고를 표시합니다 (고급을 클릭한 후 진행). 실제 인증서는 경고를 표시하지 않습니다.