如何使用域名访问Home Assistant
来源:网络收集 点击: 时间:2024-08-08Home Assistant 是一个基于Python 3开发的开源自动化设备控制平台。可以跟踪和控制网络中的所有设备,并实现自动化控制。系统默认使用8123端口进行管理,带端口访问既不方便也不安全。

如果系统只在内部运行,相对还安全些,如果需要对互联网提供服务或需要映射后对互联网提供服务,使用http端口访问时容易被中间人截获数据,拿到API的KEY后就可以远程控制,存在安全风险。

要实现域名访问的方式有多种,如直接在Home Assistant控制台,配置-系统-网络中,配置Home Assistant URL选项即可(访问时带端口)

或者使用加载项Lets Encrypt和NGINX Home Assistant SSL proxy来实现https的访问,但配置相对复杂,本文不做介绍。

本文主要介绍使用Nginx Proxy Manager加载项进行域名访问设置。
首先在配置-加载项-加载项商店里找到Nginx Proxy Manager,安装后启动服务,查看日志如果启动错误,报DB类的错误,可以先安装下加载项MariaDB并进行参数配置。


再重新启动Nginx Proxy Manager,查看运行日志,如图为正常启动信息。

Nginx Proxy Manager的默认管理地址是81端口,直接访问你的服务器ip:81即可访问管理登录界面,输入初始账号admin@example.com,密码changeme(进入后可在后上角用户头像位置点击修改密码)即可登录。

在Host菜单下点击proxy host进入域名管理项,点击右侧Add proxy host添加域名项。域名是需要对外提供服务(需要提前解析到该服务器IP或是映射服务前端IP);Forward Hostname / IP可以直接填写:homeassistant或者是你访问管理台的IP,端口为系统的8123,开启websocket support支持。先不要配置ssl证书,点保存,生效服务后进行http访问测试。


直接浏览器访问刚才填写的域名,如果配置正常就可以直接出现登录界面,说明配置正常,可以到Nginx Proxy Manager中开启SSL证书配置了。
如果访问时出现【400: Bad Request】错误提示,需要在Home Assistant设置中开启反向代功能并设置白名单。


在Home Assistant的配置中设置启用反代功能,并设置IP白名单功能步骤如下:
首先到系统日志中查看请求错误信息,查找到实际请求的IP。
如:A request from a reverse proxy was received from 172.30.33.6,
这条日志中的172.30.33.6为实际请求IP,可以添加到白名单中

然后在文件编辑器中打开:/config/configuration.yaml
添加:
http:
use_x_forwarded_for: true
trusted_proxies:
- 127.0.0.1
- 172.30.33.6
- ::1
保存后,重启


重启后就可以直接使用域名不带端口的方式访问了。
然后就可以在Nginx Proxy Manager的域名配置中,修改配置SSL证书(自动模式),以启用HTTPS访问模式。

也可以提前先准备好证书,设置SSL时选择已有证书:
进入SSL certificates证书管理,右侧的Add SSL certificates可以选择申请Lets Encrypt免费证书和Custom自定义证书(导入现有域名证书)。



证书配置完成后,可以直接使用https模式访问控制台了,包括使用API接口时也可以使用安全模式传输了,增加了系统的安全性。

HomeAssistant使用反代时需要配置IP白名单
NGINX域名访问HOMEASSISTANT版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1086897.html