配置: 设置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

对于公开的主机名,使用 -DnsName "youragentserver.ddns.net" 代替 localhost。

选项 2 - 真实证书 (Let's Encrypt):按照 Let's Encrypt 说明 ,然后使用 openssl 将生成的 .pem 文件转换为 .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(或 443 用于标准 HTTPS 端口)。
  • SSL 证书:.p12 文件的完整路径,例如 C:\Agent\certificate.p12
  • SSL 密码:您在创建证书时设置的密码。

点击"确定"。Agent 会自动重新启动本地服务器。查看日志中是否显示 Accepting SSL connections at https://...。您现在可以在 https://your.server.address:8443 加载界面。务必使用 https://,因为使用 http:// 访问 SSL 端口会返回空响应。

自签名证书(选项 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 的本地用户界面中点击服务器图标、服务器设置、本地服务器选项卡,然后设置 SSL 端口SSL 证书(.p12 文件的完整路径)和 SSL 密码,并点击确定。Agent 会自动重启本地服务器,您可以在 https://your.server.address:8443 加载用户界面(使用 https://)。

在 Linux 上,1024 以下的端口(包括标准 HTTPS 端口 443)需要 root 权限。作为服务安装的 Agent DVR 以 root 身份运行,所以 443 可用;如果您以普通用户身份手动运行,请选择高端口,如 8443。
确保证书文件可被 Agent 进程读取。如果需要,运行 chmod 644 certificate.p12。自签名证书会在首次访问时触发浏览器隐私警告(点击 高级然后继续);真实证书则不会。