今天又來水文了,上回提過,最近一直在折騰Home Assistant 的界面。Home Assistant 有個APP的定位功能,通過APP可以獲取手機的定位,電量等信息,這些信息在界面上是可以顯示的。
正好前段時間不是寫了QNAP支持反向代理了嗎?有網友出現了400報錯的問題。然後我就試了試我的Home Assistant 的外網連接。
果然華麗的400了。我的Home Assistant 是部署在黑群晖上面的,因為是個i3的主機,性能強一點,而且Home Assistant 本身經常升級,調試什麼的,需要經常重啟,所以在穩定性和速度上,我選擇速度。
網上找了一圈資料,都是很老舊的信息了,還有HASS安裝NGINX Home Assistant SSL proxy插件的,可是這個插件早就下架了。以前安裝證書的方法也不起作用了,現在都是用反向代理裡的證書。後來結合各種教程,發現了解決辦法。就是編輯configuration.yaml,添加字段如下。
http:
use_x_forwarded_for: true
trusted_proxies:
- 10.16.100.0/24
- 192.168.5.0/24
特别注意紅框裡的編碼,調整為你的局域網網段,我的是5。修改後保存,并重啟容器,也就是重啟下Home Assistant 。
然後去控制面闆-應用程序門戶-反向代理服務器。
新增一個Home Assistant 的反向代理。
規則如圖,端口我統一成666了,然後路由器把666映射出去。因為43端口是被封的,所以隻能帶尾巴了。确定應用。
然後訪問外網地址加端口号,就不會400了,出現了登錄界面了。撒花。
但是,事實告訴我們,不要高興的太早。在你填入用戶名和密碼後,會彈出這個界面,根本無法登錄。驚不驚喜?意不意外?這是因為Home Assistant的登錄需要websocke支持。所以繼續看下去吧。
再去反向代理頁面,編輯剛才建立的Home Assistant反向代理,在自定義标頭那點擊新增一個websocke标題,直接點擊這個就可以了,底下會自動出來兩個标頭,不用修改,直接确定就可以了。
這次回退到登錄界面,輸入用戶名和密碼,就可以順利登錄了。
試試手機APP,添加一個外部鍊接,activate(應用)就可以了,可以順利登錄了,以後在外網也可以控制家裡的智能設備了。也可以通過APP,來定位手機了。
最後來個題外話,威聯通系統5.0帶的反向代理是apache的,所以簡單的添加标頭是無法實現websocket協議代理的,我也無能為力了。看看有沒有大佬能解決這個問題吧。
今天的分享到此結束,歡迎大家觀看。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!