Tham khảo:

+ Duck DNS : link

+ Nginx Proxy : link

Cấu hình Port Forwarding trên Router:

– Bạn cần vào WAN router, cấu hình Port Forwarding cho phép truy cập từ bên ngoài vào Pi cho 2 port : 80 va 443. Cơ bản thì cần:

+ Port Forwarding cho Let’s Encrypt : 80 -> 80

+ Port Forwarding cho Https : 443 -> 443

– Sau khi mở Port Forwarding trên Router, vào website PortChecker để kiểm tra.

– Bạn tham khảo cấu hình Port Forwing cho Router Totolink tại đây.

Cấu hình Duck DNS:

Truy cập đến Duck free dynamic DNS.

Đăng nhập bằng gmail của bạn. Tạo một tên miền con ( sub domain ) của duckdns.org. Ví dụ : tencuatui.duckdns.org

Lưu lại mã token trong Duck DNS của bạn.

Vào Hassio / Supervisor > tìm add-on “Duck DNS” > Cài đặt add-on.

Thay đổi các thông số tương ứng của addon Configuration:

lets_encrypt:
accept_terms: true
certfile: fullchain.pem
keyfile: privkey.pem
token: 59f76844-xxxxx-xxxxx-b359-xxxxxx59898              => Duck DNS token của bạn.
domains:
tencuatui.duckdns.org                                                              => Duck DNS domain của bạn.
seconds: 300

Lưu lại và nhấn Start. Nhấn REFRESH Log để xem kết quả.

Lưu ý: DuckDNS addon có thể bị TẮT khi kết nối không thành công tới server của Let’s Encrypt mỗi 300 giây như cấu hình trên. Do đó sau khi cấu hình thành công DuckDNS addon, bạn nên thay đổi accept_terms“: false , khởi động lại addon. Bạn thay đổi lại true sau mỗi 2 tháng để addon cập nhật certifiate cho Let’s Encrypt. Bạn có thể dùng thêm addon Let’s Encrypt, cung cấp email để nó gủi mail nếu bạn quên cập nhật lại certificate.

Cấu hình NGINX Home Assistant SSL proxy:

Vào Hassio / Supervisor > tìm add-on “NGINX Home Assistant SSL proxy” > Tiến hành cài đặt add-on.

Sau khi cài đặt, thay đổi các thông số tương ứng của addon:

domain: tencuatui.duckdns.org                ==> duckdns domain của bạn.
certfile: fullchain.pem
keyfile: privkey.pem
hsts: max-age=31536000; includeSubDomains
cloudflare: false
customize:
active: false
default: nginx_proxy_default*.conf
servers: nginx_proxy/*.conf

Lưu lại và nhấn Start. Nhấn REFRESH Log để xem kết quả.

Kết quả:

– Bạn có thể kết nối tới Hass từ bên ngoài mạng : https://tencuatui.duckdns.org

– Bạn vẫn có thể kết nối tới Hass bằng IP local như trước : http://IP:8123