Google Home在已配置了ssl证书的Home assistant下的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google Home在已配置了ssl证书的Home assistant下的使用相关的知识,希望对你有一定的参考价值。
参考技术A 本文的讨论都是基于以下前提条件:1. 你的home assistant能够从外网访问,你的域名申请了ssl证书,通过外网访问你的ha(home assistant缩写,下同)时是使用https协议。
2. 你有Googe Home(或Google Home mini)。
3. 你的Google Home有接入ha。
ha在配置文件中使用了external_url和internal_url替代了之前在http组件下的base_url。
当你在ha中使用Google Home的media_player实体进行TTS时,ha会在你ha的/config/tts目录下生产一个mp3文件,并播放它。这时你可以在这个media_player实体属性的media_content_id中看到这个mp3对于Google Home的地址。
以下是我做的不同配置条件下的对比数据:
从以上对比数据可以有以下几点结论:
1. 不配置ssl、external_url和internal_url时,最为简单,一切正常(方案一)。但使用也是受限(没了ssl证书、没了外网登录);
2. 当配置了ssl,而没有设置internal_url时,Google Home的tts文件地址默认使用ha所在的内网地址(方案二、方案五);
3. 当配置了ssl和internal_url,Google Home的tts文件地址是和internal_url的设置保持一致(方案三、方案四、方案六);
4 如果你的ssl证书是单一域名的情况,那么Google Home使用https://内网地址时是无法播放的(因为你的内网地址是没有ssl证书的)(方案二、方案四、方案五);
5. 配置了ssl,而ssl证书又是单一域名的,那么要正常使用Google Home就只能将internal_url配置成外网地址(方案六)
以上就是我在配置了ssl(单一域名证书)、external_url和internal_url后使用Google Home时碰到的问题。虽然也能按方案六配置来正常使用(我也是一直是这么做),特别是我使用Google Home来播放本地音乐时,一直就是使用外网的地址,这让我一直都很不爽快,我在家里用家里的设备播放家里NAS内的音乐还要绕外网一大圈!不爽久了,就盘它!
参照了https://community.home-assistant.io/t/tts-with-ssl-on/207875上的说明,再制定出了解决问题的技术路线:
1. 要有份通配符SSL证书,并配置给ha;
2. 将内网映射到包含在ssl证书内的子域名;
3. 没了。简单就两步。
用了一周六的时间搞定了以上两步骤,从此王子和灰姑娘过上了幸福的生活。
以上两步的具体过程就自行百度了哈(下周末有时间有需求再继写)。
以上是关于Google Home在已配置了ssl证书的Home assistant下的使用的主要内容,如果未能解决你的问题,请参考以下文章
Linux Nginx 配置 SSL 证书支持 HTTPS 访问(参考)