Instruções de como proceder para ter o HA a trabalhar com HTTPS dentro e fora da rede. Mesmo com routers que não suportam loopback.
1º - DUCKDNS – INSTALAÇÃO E CONFIGURAÇÃO
Site: www.duckdns.org
- Criar uma conta. Podem usar a vossa conta google ou do Github.
- Criar um domínio do DuckDns.
- Desta página irão precisar:
- Token: aaa000aa-a0a0-a0a0-a0a0-aaa000aaa000
- Dominio criado: omeudominio.duckdns.org
HA – DuckDNS add-on
-
Instalar o Duck DNS no seu HA. É um add-on official do Hass.io
-
Depois de instalado, colocar esta configuração:
{
"lets_encrypt": {
"accept_terms": true,
"certfile": "fullchain.pem",
"keyfile": "privkey.pem"
},
"token": "TOKEN-DO-VOSSO-DUCK-DNS”
"domains": ["omeudominio.duckdns.org"],
"seconds": 300
}
-
Iniciar o add-on.
-
Criar uma Port Forward no vosso router para a porta 8123. No router da NOS, apenas podemos fazer através da página: https://aminhanet.nos.pt
EXEMPLO:
- Modificar em configuration.yaml, os campos relativos a SSL/TLS, que por defeito estão comentados “#”.
# Uncomment this if you are using SSL/TLS...
http:
base_url: omeudominio.duckdns.org
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
-
Validar o conteúdo do configuration.yaml está correto e reiniciar o HA.
-
Depois do HA voltar a iniciar poderá aceder da seguinte maneira:
- Dentro da rede: https://192.168.1.XXX:8123
(O browser vai dar erro de certificado, mas é natural, pois o certificado é para o domínio e não para endereços IP) - Fora da rede: https://omeudominio.duckdns.org:8123
- Dentro da rede: https://192.168.1.XXX:8123
NOTA: Se tiver dificuldades em carregar pela primeira vez a página após o reinício do HA, pressione “CTRL+F5”, para forçar o browser a carregar a página através do vosso servidor e não da cache.
2º - NGINX - INSTALAÇÃO E CONFIGURAÇÃO
-
Instalar o NGINX Home Assistant SSL proxy no seu HA. É um add-on official do Hass.io
-
Depois de instalado, colocar esta configuração:
{
"domain": " omeudominio.duckdns.org",
"certfile": "fullchain.pem",
"keyfile": "privkey.pem",
"hsts": "max-age=31536000; includeSubDomains",
"customize": {
"active": false,
"default": "nginx_proxy_default*.conf",
"servers": "nginx_proxy/*.conf"
}
}
-
A porta original a ser usada é a 443. Mas no meu caso, o meu ISP é a NOS, e o router não me permite criar uma regra de Port Forwarding para a 443. Por isso optei por usar uma outra que não está ocupada, a 441.
Se acontecer o mesmo convosco, antes de iniciarem o add-on, coloquem no separador “Network”, Container 443/tcp – Host – 441.
Atenção que ao colocarem esta porta e depois clicarem em “SAVE”, normalmente os dados colocados em cima no “Config” voltam à origem. Se isso acontecer voltem a colocar o vosso domínio DuckDNS e salvem novamente -
Iniciar o add-on.
-
Criar uma Port Forward no vosso router para a porta 441 (No meu caso). No router da NOS, apenas podemos fazer através da página: https://aminhanet.nos.pt
-
Devem desativar a regra anterior da porta 8123.
-
Modificar em configuration.yaml, os campos relativos a SSL/TLS novamente. Agora devem comentá-los. E criar o base_url em baixo do TTS:
# Uncomment this if you are using SSL/TLS...
#http:
# base_url: omeudominio.duckdns.org
# ssl_certificate: /ssl/fullchain.pem
# ssl_key: /ssl/privkey.pem
# Text to speech
tts:
- platform: google_translate
base_url: http://192.168.1.XXX:8123
-
Validar o conteúdo do configuration.yaml está correto e reiniciar o HA.
-
Depois do HA voltar a iniciar poderá aceder da seguinte maneira:
- Dentro da rede: http://192.168.1.XXX:8123
(Apenas usar http, até finalizarmos o processo) - Fora da rede: https://omeudominio.duckdns.org:441
- Dentro da rede: http://192.168.1.XXX:8123
NOTA: O próximo passo fazer do nosso HA um servidor de DNS, de maneira a podermos usar HTTPS, dentro e fora de rede. E com isto podermos usar exatamente o mesmo endereço quer seja localmente quer seja fora.
3º - Dnsmasq - INSTALAÇÃO E CONFIGURAÇÃO
-
Instalar o Dnsmasq no seu HA. É um add-on official do Hass.io
-
Depois de instalado, colocar esta configuração:
{
"defaults": ["8.8.8.8", "8.8.4.4"],
"forwards": [],
"hosts": [
{"host": "omeudominio.duckdns.org", "ip": "192.168.1.XXX"}
]
}
- Salvar a configuração e iniciar o add-on.
- Caso o vosso router permita mudar a Configuração de DNS, podem fazê-lo, usando os seguintes dados:
- DNS Primário: 192.168.1.XXX (IP do vosso HA)
- DNS Secundário: 8.8.8.8
- Caso não permita, que é a minha situação. Não vejo nenhuma opção para mudar isso no router da NOS, alterei os DNS nos meus próprios dispositivos: Telemóvel, PC, Portátil. Todos aqueles que pretendem que comuniquem com o vosso HA.
Se tudo correu bem a partir deste momento podem aceder ao vosso HA com o mesmo endereço, estejam na rede interna ou externa: