当前位置:首页 > home assistant > 正文内容

Home Assistant配置https访问

deboss1年前 (2024-01-25)home assistant120

Home Assistant一般安装好之后都是需要通过公网来访问使用的,而公网访问一般都是走https协议这样最安全,

这里一般就是用反向代理来实现了。

这里只讲如何配置HA的反向代理,假设你已经有公网IP,域名,DDNS,端口映射这些东西了。

先讲一个最简单快捷的方法吧,就是HA内部的NGINX Home Assistant SSL proxy服务 

首先在HA的加载项里面找到 NGINX Home Assistant SSL proxy 并安装

安装好之后到“配置”页面中,依次填入“你的域名”、“公钥文件名”、“私钥文件名” 三个东西,然后保存。第二项不用动。

再通过HA的smb服务进入HA的ssl文件夹,把你的公钥和私钥文件都拷贝进这个文件夹里面,

系统会根据你上面填写的公钥和私钥文件名自动去ssl文件夹里面去找对应的文件。

这里特别说一下smb

nginx所需的ssl文件夹是在HA的根目录下的,所以是建议用官方加载项商店Official add-ons 里面的 Samba share 服务来操作。

安装好 Samba share 服务后,在配置页面设置好smb的账号和密码。

然后回到电脑上,用常规连接smb服务的方式输入HA的ip地址进行连接。

这个时候根目录下看到一个ssl文件夹,把这个文件夹映射成盘符,然后把你的证书和秘钥拷贝进去,然后就可以断开连接了。

这个ssl文件夹用HA官方加载项里面的 “文件管理” 之类的插件是看不到的,这些插件只能看到HA系统config下的文件,

而这个ssl文件夹是在config文件夹之外的,所以暂时只发现用smb的方式来访问了。

回到NGINX的服务配置页面:

然后再往下翻,端口这里自己设置一个空闲端口,默认443的端口有些域名商好像是不开的,然后保存。

接着,通过smb服务,在HA的config文件夹下有一个configuration.yaml ,编辑这个文件,在文件内容后面加上下面几行:

(这个时候因为configuration.yaml文件是在config文件夹里面的,可以使用官方文件管理加载项去编辑这个文件,

用前面smb的方法也是可以的,只不过就是选config文件夹再映射一次就好了。)

http:
  use_x_forwarded_for: True
  trusted_proxies:
    - 172.30.33.0/24

这是因为HA的反向代理有白名单设置,而172.30.33.xxx是NGINX反向代理服务的网段(来自官方文档),所以要添加信任才能公网访问,

不然会出现 400 bad request 的错误。

全部配置完毕之后重启HA。然后记得路由器上端口映射啥的都弄好,你就能顺利的公网访问了。

接下来是另一种反向代理的解决办法,也是我一开始的方法,但是因为我的使用环境特殊,最终没有折腾出来,

但是普通用户是可以的,这里给多一种思路,

也看看有没有大手子能解答我的问题的hhhh

假设你有truenas,truenas上一般是用traefik做反向代理的。traefik除了反向代理truenas内部应用以外,

还可以反向代理局域网内其他设备上的外部应用,

具体教程可以参考sagit大佬的视频:BV1aQ4y1a7Dk,我跟着里面的方法全部操作成功了。

我们这里就是把HA当做外部应用,然后按traefik代理外部应用的方式操作就好了。

配置完traefik之后,一样也是要去修改HA的 configuration.yaml 文件的,不然也是400。

这时候添加的内容就是下面这样了

http:
  use_x_forwarded_for: True
  trusted_proxies:
    - 192.168.1.0/24

这个 192.168.1.0/24 应该是要修改成 traefik (或者nas)所在ip的网段地址的,

因为这里是/24 所以对 192.168.1.xxx 范围内的地址都是生效的,

理论上来说直接给一个/32的地址直接指向 traefik 所在的地址应该也行吧,这个我没测试了。

端口映射,重启HA这些都不能少。

到这里第二种方法也算完成了。

之所以我用第二种方法操作不了,我现在的分析是因为我的HA是接在旁路由上的。因为如果我把HA接在主路由上

,按照第二种方法也能正常公网访问的,而旁路由就会有bug。

我的truenas和HA都连在旁路由上,这两个东西都可以正常通过旁路由上网,而且我的旁路由经过设置后,

主路由上的端口映射还是有效的,

还是能从公网访问到truenas上的服务,包括traefik反向代理其他外部应用都是正常的,唯

独反向代理HA的时候会出现 gateway timeout 的问题,看起来还是网络转发的问题吧。

但是我端口映射和反向代理别的应用都没问题,就HA有问题,不知道哪出错了。

一开始以为搞不动了,最后发现HA自带的有 NGINX ,那我就直接配置 NGINX 了,

这种方式即便是在我旁路由的场景下都能正常公网访问,而且还简单。

 作者:Laser5252 https://www.bilibili.com/read/cv23643243/ 出处:bilibili

扫描二维码推送至手机访问。

版权声明:本文由四川方脑壳发布,如需转载请注明出处。

本文链接:https://sc.six666.cn/?id=16

分享给朋友:

“Home Assistant配置https访问” 的相关文章

Home Assistant进阶---UI设置之3D户型图

Home Assistant进阶---UI设置之3D户型图

在开始折腾HA之后,发现这确实是一个需要很长时间折腾的过程。今天折腾下3D户型图。文章Home Assistant进阶---UI设置初体验之彩云天气深海派大星2023-09-077准备工作1、找到家里的户型图;2、找一个3D绘制软件,酷家乐不错,这里我用的是sweet home 3d;3、图片编辑软...

智能家居 篇四:智能家居——HomeAssistant安装HACS

智能家居 篇四:智能家居——HomeAssistant安装HACS

安装HACS官网地址:https://hacs.xyz/Github项目地址:https://github.com/hacs/integration本地下载hacs.zip文件此电脑——(Home Assistant的IP)Home Assistant的用户名——密码——记住我的凭证——确定打开co...