frigate/docs/i18n/zh/docusaurus-plugin-content-docs/current/configuration/tls.md

73 lines
1.8 KiB
Markdown
Raw Normal View History

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