『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 1792|回复: 30

[技术讨论] ha外网访问过程梳理

[复制链接]

1

主题

8

帖子

80

积分

论坛分享达人

积分
80
金钱
72
HASS币
10
发表于 2024-4-11 11:30:02 | 显示全部楼层 |阅读模式
条件:
1、有公网ip或ip6
2、有自己的域名.ps: 这个很好弄,阿里云或其他域名平台,申请 免费域名或便宜的域名;
3、已经构建好自己的DDNS。因为我是自己是从nas一路玩过来的,所以这些都已经弄好,没弄好的,可以百度搜索一下这些教程,网上太多了

一、正式开始
1.home Assisstant服务搭建好后,http://[本地ip]:8123可以登录
微信图片_20240411111305.png


2. HA和其他npm不一样的地方在于,它需要手动开启允许代理和反代,开启方式如下:
编辑 /配置目录/configuration.yaml,添加如下内容:
http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.3.90 # Add the IP address of the proxy server。
ps:注意这时原192.168.3.90需要配置成你自己的npm或者nginx的ip


添加内容后注意重启home Assistant

3. 配置好npm或者nginx代理内容:
npm如下
npm配置.png
图中标号1: 自己的域名
标号2: 自己本地的IP+端口
标号3: 这里注意,一定要勾选websockets Support,因为在登录界面输入用户和密码之后,会有一个websockets连接,如果不勾选,websocket连接无法成功,导致读取不到ha服务的数据

3.根据自己情况配置用https还是http
https的话就在ssl选项里添加相应的证书,这里不贴了,上述过程中红色加粗字体是注意事项,欢迎大家讨论交流

评分

参与人数 1金钱 +20 HASS币 +10 收起 理由
+ 20 + 10 感谢楼主分享!

查看全部评分

回复

使用道具 举报

7

主题

132

帖子

939

积分

高级会员

Rank: 4

积分
939
金钱
807
HASS币
0
发表于 2024-4-11 12:23:50 | 显示全部楼层
使用群晖反向代理,docker自动更新证书。
回复

使用道具 举报

123

主题

4626

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16017
金钱
11306
HASS币
45
发表于 2024-4-11 12:41:07 | 显示全部楼层
谢谢楼主分享

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.3.90 # Add the IP address of the proxy server

这里的ip地址,我测试是如果是用HAOS的话,得使用docker内网网址:
172.30.33.0/24
回复

使用道具 举报

7

主题

1072

帖子

3361

积分

论坛元老

Rank: 8Rank: 8

积分
3361
金钱
2289
HASS币
0
发表于 2024-4-11 12:50:25 | 显示全部楼层
感谢分享,请问楼主,我直接用了ipv6的ddns地址+8123,第二步和第三步没做,有没有什么不妥?望不吝赐教。
回复

使用道具 举报

7

主题

1975

帖子

5663

积分

论坛元老

流水无味

Rank: 8Rank: 8

积分
5663
金钱
3688
HASS币
145

灌水之王

发表于 2024-4-11 13:43:01 | 显示全部楼层
隔壁的王叔叔 发表于 2024-4-11 12:50
感谢分享,请问楼主,我直接用了ipv6的ddns地址+8123,第二步和第三步没做,有没有什么不妥?望不吝赐教。 ...

那是反代和证书
好像无所谓,应该是不能用https访问
回复

使用道具 举报

0

主题

40

帖子

988

积分

高级会员

Rank: 4

积分
988
金钱
948
HASS币
0
发表于 2024-4-11 13:48:32 | 显示全部楼层
NGINX Home Assistant SSL proxy这个加duckdns好用
回复

使用道具 举报

1

主题

8

帖子

80

积分

论坛分享达人

积分
80
金钱
72
HASS币
10
 楼主| 发表于 2024-4-11 14:10:54 | 显示全部楼层
xieahui 发表于 2024-4-11 13:43
那是反代和证书
好像无所谓,应该是不能用https访问

是的,另一个是用域名来访问,可以隐藏端口,把外部只开放统一的https端口和http端口就好了,安全性拉满
回复

使用道具 举报

1

主题

8

帖子

80

积分

论坛分享达人

积分
80
金钱
72
HASS币
10
 楼主| 发表于 2024-4-11 14:11:46 | 显示全部楼层
yuhuanfan 发表于 2024-4-11 13:48
NGINX Home Assistant SSL proxy这个加duckdns好用

duckdns没用过,应该就是ddns吧
回复

使用道具 举报

1

主题

8

帖子

80

积分

论坛分享达人

积分
80
金钱
72
HASS币
10
 楼主| 发表于 2024-4-11 14:13:09 | 显示全部楼层
囧 发表于 2024-4-11 12:41
谢谢楼主分享

http:

这个主要取决于你的npm 或nginx部署的内网地址,其实意思就是允许通过npm和nginx代理来进行外网访问
回复

使用道具 举报

1

主题

8

帖子

80

积分

论坛分享达人

积分
80
金钱
72
HASS币
10
 楼主| 发表于 2024-4-11 14:14:27 | 显示全部楼层
hhh. 发表于 2024-4-11 12:23
使用群晖反向代理,docker自动更新证书。

是的,我其实添加了自动更新的任务,但是还没加到npm里面去,后面得空了看一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-30 03:13 , Processed in 0.066688 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表