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

 找回密码
 立即注册
查看: 2099|回复: 7

[新奇玩法] 忘记烦人的域名、端口,更优雅地打开HA

[复制链接]

18

主题

555

帖子

3990

积分

元老级技术达人

积分
3990
金钱
3400
HASS币
182
发表于 2022-10-24 00:12:28 | 显示全部楼层 |阅读模式
不知道有没有朋友跟我一样,局域网配置了很多服务,比如nextcloud、photoprism、transmission、portainer、plex等等,每次使用网络服务时,都得回想半天这个服务在哪个IP、端口,就很苦恼有些网络服务没有APP端,用IP:port或是英文域名的形式分享给家人也很麻烦。今天我们就试试利用nginx搞个中文域名转发,解决这一痛点~

1. nginx 安装配置

nginx 毕竟是业内最流行的HTTP、反向代理服务器,解决家庭局域网内部转发还是绰绰有余的。由于我们用不到负载均衡、TCP转发等其他功能,家庭局域网使用nginx的最好方式是nginx-proxy-manager,简单的WEB-UI配置就可以实现反向代理、端口转发等功能。HA的add-on中就有nginx-proxy-manager,安装配置可以参考土豆大佬的文章:https://bbs.hassbian.com/thread-6893-1-1.html

由于个人比较喜欢把网络相关功能都集成在OP系统上,这样也方便管理,所以并没有使用HA add-on安装,而是使用portainer/docker在OP系统上部署nginx-proxy-manager。部署过程中踩了俩坑:一个是建议使用docker.io的官方image repo,我试了国内几个repo每个都有不同的神奇问题;另一个是建议nginx-proxy-manager 容器直接使用host网络模式,不要用bridge模式再暴露端口(我之前用的bridge,配置后转发不成功,直接报502)。

2. 修改网关hosts文件

现在,我们需要把域名指向nginx所在主机。局域网内设备DNS解析会首先询问网关(除非你手动添加了其他DNS解析服务器),所以我们修改网关/etc/hosts文件即可。当然,用OP系统或其他软路由系统的朋友直接可以通过WEB-UI配置。这里我们配置一个中文域名试试。首先我们需要把中文域名转化为punnycode,这个网站工具就可以实现:http://www.webmasterhome.cn/tool/punycode.asp

比如说我们给homeassistant起个中文局域网域名,直接翻译成“家庭助手”没有灵魂,不如就翻译成“女仆”吧 利用上边提到的网站工具,punnycode是xn--smq03x,那我们在OP web-ui配置下,或者是改下网关/etc/hosts并重启服务:

捕获2.PNG

(把xn--smq03x指向nginx所在主机)

3. nginx-proxy-manager配置

nginx-proxy-manager web-ui的默认端口是81,我们在浏览器打开所在主机的81号端口。进入后点击hosts->proxy hosts,进入界面点击add proxy hosts。在弹出的窗口中,把我们上边的punnycode配置成domain name,并填写好Homeassistant所在的IP、端口,勾选Cache Assets、Websocket Support后点击Save。这样我们就把中文域名指向到了我们想要的服务了。
捕获3.PNG

4. 服务配置

很多网络服务如nextcloud、HA对端口转发、域名等都有限制。对于homeassistant,我们需要修改configuration.yaml配置文件,添加如下内容并重启HA。

http:
  use_x_forwarded_for: true
  trusted_proxies: 192.168.3.1 #替换成nginx所在主机IP地址


等HA重启完毕,你现在就可以在浏览器输出“女仆/”来进入HA了。

当然啦,通过以上方法,你可以给局域网内大多数服务起个中文昵称。还等什么?后宫搞起来

评分

参与人数 3金钱 +32 HASS币 +10 收起 理由
guixf + 2
jjcs + 10 墙都不扶,就服楼主!
+ 20 + 10 纳尼,还有这种操作?

查看全部评分

回复

使用道具 举报

0

主题

97

帖子

1591

积分

金牌会员

Rank: 6Rank: 6

积分
1591
金钱
1494
HASS币
0
发表于 2022-10-24 17:44:05 | 显示全部楼层
“女仆”这名字好啊
回复

使用道具 举报

18

主题

555

帖子

3990

积分

元老级技术达人

积分
3990
金钱
3400
HASS币
182
 楼主| 发表于 2022-10-24 17:52:03 | 显示全部楼层
skasoka 发表于 2022-10-24 17:44
“女仆”这名字好啊

随便搞的哈哈,毕竟还要给家人用,所以最后用的是“家庭小助手”、“网盘”、“照片”等等
回复

使用道具 举报

65

主题

853

帖子

3038

积分

论坛元老

Rank: 8Rank: 8

积分
3038
金钱
2180
HASS币
40
发表于 2022-10-28 19:51:28 | 显示全部楼层
中文Host名称映射啊
回复

使用道具 举报

18

主题

555

帖子

3990

积分

元老级技术达人

积分
3990
金钱
3400
HASS币
182
 楼主| 发表于 2022-10-28 23:05:26 | 显示全部楼层
是的哈,局域网内给家人用还挺好的哈哈
回复

使用道具 举报

18

主题

555

帖子

3990

积分

元老级技术达人

积分
3990
金钱
3400
HASS币
182
 楼主| 发表于 2022-10-28 23:08:16 | 显示全部楼层
plutosherry 发表于 2022-10-28 19:51
中文Host名称映射啊

是的哈,局域网内给家人用还挺好的
回复

使用道具 举报

1

主题

29

帖子

367

积分

中级会员

Rank: 3Rank: 3

积分
367
金钱
338
HASS币
0
发表于 2022-11-22 15:49:05 | 显示全部楼层
谢谢分享
回复

使用道具 举报

2

主题

24

帖子

205

积分

论坛分享达人

积分
205
金钱
181
HASS币
0
发表于 2023-7-8 11:53:34 | 显示全部楼层
感谢大佬分享
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-7 00:41 , Processed in 0.248302 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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