TLS安全传输
Frigate内置的NGINX服务器支持TLS证书。默认情况下,Frigate会生成自签名证书用于8971端口。本系统设计上兼容各类证书管理工具,方便用户自由选择。
应用场景
多数情况下Frigate运行在反向代理后方,由代理统一管理TLS证书。此时您可能需要:
- 在代理配置中允许自签名证书
- 或直接禁用Frigate的TLS功能
但若Frigate运行在独立设备或直接暴露在公网时,建议配置有效证书。
禁用TLS
在配置文件中添加以下内容即可禁用TLS:
tls:
enabled: False
证书配置
基本配置
通过绑定挂载或Docker卷加载证书文件到指定路径:
frigate:
volumes:
- /证书目录路径:/etc/letsencrypt/live/frigate:ro
目录结构要求:
- 私钥文件必须命名为
privkey.pem
- 证书文件必须命名为
fullchain.pem
Certbot用户注意
由于Certbot使用符号链接,需额外挂载archive目录:
frigate:
volumes:
- /etc/letsencrypt/live/frigate:/etc/letsencrypt/live/frigate:ro
- /etc/letsencrypt/archive/frigate:/etc/letsencrypt/archive/frigate:ro
证书自动更新
Frigate会每分钟比对证书指纹,当检测到变更时自动重载NGINX配置。使用有效证书时,建议将8971端口映射到443端口:
注意
如果您在中国大陆地区,家用宽带运营商会屏蔽掉80
和443
等端口,这种情况建议换为其他端口,例如1443
frigate:
ports:
- "443:8971" # <- 左边为宿主机端口,右边为容器端口。需要注意国内家用宽带无法使用443端口
ACME验证支持
Frigate支持托管ACME验证文件(HTTP验证方式),需将验证文件挂载到:
/etc/letsencrypt/www