解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

純是新手村選手的經驗談,高手請圍觀!
前期回顧:
一、用免費的反向代理加密連線回無公網IP的NAS及智慧家居中心
二、搭配反向代理,利用NAS喚醒你區網內的任一台電腦。

※ 家中無公網IP,所以無法利用轉port、ddns從外面連線回來。
※ Home Assistant 版本:Home Assistant Operating System 6.0 (Home assistant core 2021) 安裝於DSM6.2.3 VMM之中。

解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

※ DSM 6.2.3 區網IP:192.168.1.2
※ 區網預設閘道:192.168.1.1
※ 網路提供:遠傳電信4G上網吃到飽

解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

※ 反向代理服務提供:Cloudflare zero trust
※ Free Domain Name register : freenom
================================================
不要忽視前輩的耳提面命,他們的格言果然是靈驗無比:沒事不要去升級,升級一定會出事。

這是我今天一路從6.0->7.6->8.0->8.5一路升上來,現在還有9.0的升級提示… 就停在8.5吧先不升了! HA Core版本已升到2022.9.6了。

解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

每次登入HA,在設定頁面都提示有更新需要升級,一直沒理會它。剛好這周事情比較少,昨天早上忙完後就順手點擊了安裝,把HA給升級了。等升級完果然就初四了:
一、經由域名連回來時出現400 Bad Request,沒有登入的頁面,不管是用http或https都一樣出現400錯誤:
解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門
經谷哥後得知HA加強了安全認証,所以需要將Default gateway IP加到設定檔中:
http:
use_x_forwarded_for: true
trusted_proxies:
- x.x.x.x (default gateway)
所以我就傻傻的把192.168.1.1給設定上了,結果當然還是一樣出現400錯誤!
念頭一轉,我是用反向代理連回來的,那對於HA來說,它的Default gateway應該是提供反向代理服務的NAS, 所以要設成NAS的IP : 192.168.1.2才對,果然設定好重啟HA後,成功解決反向代理出現錯誤的問題。
解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

二、Tuya智能設備無法通過驗証,沒升級HA前是可以用的。
刪除舊的tuya設備,打開整合新增tuya後發現現在要把塗鴨智能的設備加入HA,必需要有tuya的登入ID及密鑰,再搭配手機應用的使用者名稱及密碼才能用… 所以要先到tuya官網註冊一個帳號,再去創建一個雲服務,把家中的設備給拉進去,然後會得到一組ID和密鑰,再回到HA中來設置… 真的麻煩~
解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

我以前就有一個塗鴨的帳號,是用對岸手機註冊的,我先用它去新增,但最後卡在要實名認証上,沒有實名認証看不到TOKEN,我又沒有對岸的身份証,做不了實名認証…

所以只好再新建一組帳戶,地區選擇台灣即可,這樣會用E_mail信箱來註冊,也不用手機號碼,所以就不用實名認証了。
圖中框起來的就是所需的ID及密鑰,把它填入上面的欄位後,HA即可找到Tuya的開關實體:
解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

今天也順手把之前懶得弄的設備也加入HA
一、陸版的智能排插(智慧延長線插座)不用再去想辦法拿到TOKEN,只要用陸版的小米帳號授權即可,所以找回之前的陸版小米帳號,因過久沒有使用給凍結了,申請解封帳號即可,等約1分鐘後帳號就可以用了,把陸版小米帳號/密碼填入後,服務器選sg,HA即可找到放到臥室的延長線實體。

解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

二、當時買google nest mini送的Tapo P100智慧插座一直沒有整合可用,所以一直沒加到HA中,今天順便把HACS給升級了,它裏面有TAPO controller的整合,升級完HACS後,先在HACS找到TAPO controller依它的安裝文件去安裝:
解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

然後到HA的設定->裝置與服務->新增整合,輸入Tapo即可找到剛才安裝的整合插件,打開它輸入Tapo P100插座的IP及Tapo手機應用的帳號/密碼,按傳送後,HA即會創建並找到P100的插座:
解決Home Assistant 升級後反向代理無法連接的方法 -- 基礎入門

家中還有一堆當時買的單火智慧開關沒裝… 等有時間再把牆上的電燈開關都換掉吧… 想要智能家居,先得有個工具人來安裝設定才能用啊~~~ 並不是回家只要喊:hey google我回來了 ,它就會向你問好並幫你打開客廳電燈及風扇並告訴你現在溫度及天氣的…
有MCSE認証但不務正業的國際貿易打雜員工
chirle wrote:
經谷哥後得知HA加強了安全認証,所以需要將Default gateway IP加到設定檔中:


樓主您好
我是只會照步驟一步步來的新手小白
請問該如何修改設定檔呢?
v8896320 wrote:
樓主您好我是只會照步...(恕刪)


修改HA的設定檔,加入你反向代理在區網的服務器IP。例如我是在NAS上跑Tunnel讓外部的連線接入家中的區域網路,所以我就填NAS的區網IP192.168.1.2

有MCSE認証但不務正業的國際貿易打雜員工
這裏解釋一下

當你用了反向代理伺服器

由 Wan IP "101.1.1.2" > ha.abc.com > Reverse Proxy Server "IP:192.168.1.2" > HomeAssistant "我當IP:192.168.1.3"

於HA 的角度會是由 192.168.1.2 連去 192.168.1.3
這個行為在新版 "都好舊了" 的HA 被禁止

use_x_forwarded_for: true 可以獲得最上游的WAN IP "其實還有一些設定如 recurive ip: on這裏不特別解釋"

雖然有 use_x_forwarded_for 保留了Wan IP, 但預設 Client 並不會接受, 因為保安問題, 如果亂接受這個, 也會引起保安問題 "容易被偽冒IP"

所以才會有下面的 trusted_proxies:
這個是指 受信任的代理伺服器, 即由該IP 作為來源會被信任, 所以會採用 x_forwarded
這也是因為你填了 Reverse Proxy Server "即你的DSM IP"
所以 HA 才會使用回真實的WAN IP 作為來源, 這才是你能Remote Access 的原因

這個 Tursted_Proxies 從來都不是Default Gateway, Default Gateway 是指 0.0.0.0 就是當沒路由是最終指向的 Interface IP "即指向Internet"

所以假如你由某外聯 101.1.1.2 輸入 ha.abc.com 會透過 DSM 的Reverse Proxy "192.168.1.2" 指向 192.168.1.3 "HA IP"
而HA 收到來源 192.168.1.2 要求登入 192.168.1.3 , 由於 192.168.1.2 是屬於受信任的代理伺服, 所以接受了 x-forward, 最後變成 來源 101.1.1.2 要求登入 192.168.1.3

這就是整個過程
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!