文章背景图

HomeAssistant MySQL SSL连接配置详解

2026-01-02
7
- 字
- 分钟
|

HomeAssistant MySQL SSL连接配置详解

在智能家居系统中,数据安全至关重要。当Home Assistant需要连接到远程MySQL数据库时,启用SSL/TLS加密可以有效保护数据在传输过程中的安全。本文将详细介绍两种常见的SSL配置方式,帮助您根据安全需求选择合适的方案。

完整SSL证书验证配置

对于生产环境或对安全性要求较高的场景,建议使用完整的SSL证书验证配置:

recorder:
  purge_keep_days: 365
  db_url: mysql://homeassistantUser:your_password@mysql_server_ip:3306/homeassistant?charset=utf8mb4&ssl_ca=/config/ssl/mysql/ca-cert.pem&ssl_cert=/config/ssl/mysql/client-cert.pem&ssl_key=/config/ssl/mysql/client-key.pem&ssl_verify_cert=true
  
  # 可选:性能优化配置
  commit_interval: 5
  db_max_retries: 10
  db_retry_wait: 3

参数详细说明

  • ssl_ca:指定CA(证书颁发机构)根证书路径,用于验证MySQL服务器证书的合法性
  • ssl_cert:客户端证书文件路径,用于向服务器证明客户端身份
  • ssl_key:客户端私钥文件路径,与客户端证书配对使用
  • ssl_verify_cert:设置为 true时启用服务器证书验证,确保连接到的是可信的MySQL服务器
  • ssl_mode:替代参数,支持以下选项:
    • DISABLED:禁用SSL
    • PREFERRED:优先使用SSL,但不强制
    • REQUIRED:必须使用SSL连接
    • VERIFY_CA:使用SSL并验证CA证书
    • VERIFY_IDENTITY:使用SSL并验证证书标识

证书文件准备

  1. CA证书:证书颁发机构的根证书,用于验证服务器证书
  2. 客户端证书:由CA签发的客户端身份证书
  3. 客户端私钥:与客户端证书对应的私钥文件

建议将这些文件放置在Home Assistant可访问的目录,如 /config/ssl/mysql/,并确保文件权限设置为仅限所有者读写:

chmod 600 /config/ssl/mysql/*.pem

简化SSL配置(仅要求加密)

对于内部网络或测试环境,如果只需要加密连接而不需要严格的证书验证,可以使用简化配置:

recorder:
  db_url: mysql://homeassistantUser:your_password@mysql_server_ip:3306/homeassistant?charset=utf8mb4&ssl_mode=REQUIRED
原创

HomeAssistant MySQL SSL连接配置详解

本文链接: HomeAssistant MySQL SSL连接配置详解

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

评论交流

文章目录