Passa ai contenuti principali

Dynamic DNS con Duckdns.org in HTTPS



Obiettivo



Avere un dominio https con certificato valido da usare come endpoint
pubblico per Homeassistant e per un WebHook per i bot telegram.

Fase 1


Registrazione del dominio in un servizio di dynamic DNS come https://www.duckdns.org/ :


Scegliere per quale sistema operativo installare il client che si occuperà dell'aggiornamento dell'ip:





Seguire la semplice guida per la configurazione del processo cron:



Fase 2


Creazione del certificato e installazione sul server.

Di tutto questo si occuperà una applicazione che si chiama certbot.

$ sudo add-apt-repository ppa:certbot/certbot

$ sudo apt install python-certbot-apache


$ sudo certbot --apache -d ol3.duckdns.org -d www.ol3.duckdns.org



Fase 3


Esporre il servizio https sulla rete pubblica.
Aprire o reindirizzare la porta 443

verso l'host sul quale si è fatta la configurazione di certbot dal proprio router.

Il certificato di certbot è valido per novanta giorni, questo proprio

per spingere gli utenti a rinnovarlo.
Il processo di installazione ha già installato un cron che provvederà
automaticamente al rinnovo.

Verifichiamo che sta funzionando con:

$ sudo certbot renew --dry-run


Se non si vedono errori ed un messaggio avverte che: "Congratulations,

all renewals succeeded. The following certs have been renewed:"

Fare un backup delle credenziali di Letsencrypt in /etc/letsencrypt



Fase 4


Test finale: puntando, con un browser, l'url del dominio registrato il lucchetto deve risultare chiuso ed il relativo certificato valido (informazione che si ottiene cliccando sul lucchetto).






Nota: se si usa come server Home Assistant basta:
- installare l'add-on Duck DNS (che integra la gestione del certificato e quindi non serve installare altro) ed avviarlo
- attivare il port-forwarding sul router per portare le richieste esterne verso la porta di Home Assistant (8123 di default)
- nel file configuration.yaml inserire il blocco:
http:

  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
Salvare senza riavviare.
- portarsi in "Impostazioni" > "Generale" e modificare il valore di "External URL" inserendo all'inizio il protocollo https (con il precedente http).

Salvare e riavviare e poi puntare https://ol3.duckdns.org:8123


Licenza Creative Commons
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale

Commenti

Post popolari in questo blog

Telecamere Ip con accesso "nascosto"

Telecamere Ip con accesso "nascosto" Storia triste di un auto-hacking obbligato che mi ha fatto scoprire come la nostra privacy è realmente messa a rischi. Storia Ho acquistato dal mercatino/fiera del Radioamatore di Fasano quattro telecamere IP. La scatola riporta "Smart Camera" LF4810. Ne ho montata una e testata in tutte le sue funzionalità per oltre un mese. Chiaramente la manualistica scarsissima, come da tradizione in questi prodotti cinesi di costo molto concorrenziale, consiste in un "pieghevole" di 4 facciate. Chiaramente non erano documentate le impostazioni necessarie per attivare i protocolli ONVIF e RTSP che mi sono indispensabili per l'uso che ne devo fare. Nonostante questa scarsa documentazione dopo l'installazione base fatta con l'apposita app: tutto sembrava corretto. Chiaramente la prima azione che ho compiuto è stata quella di cambiare la password che di default è "123". Subito dopo h...

JHipster - Uso base

Cosa è JHipster è un "generatore di applicazioni" che fornisce tutto lo stack necessario ad implementare una applicazione web e/o a microservizi basata su Spring Boot e AngularJs. E' dotato di un marketplace di componenti già pronte: https://www.jhipster.tech/#modules E' dotato di uno strumento web per la modellazione dello schema E-R: https://start.jhipster.tech/jdl-studio/ Prerequisiti - Java 8  - Node.js (usare la versione LTS 64-bit) - NPM viene installato con Node.js ma va aggiornato      $ npm install -g npm - Per usare il JHipster Marketplace, installare Yeoman:       $ npm install -g yo Uso base Gli step, presi dal sito ufficiale sono questi: 1. Installare JHipster:       $ npm install -g generator-jhipster Nota: per installare una versione specifica del generator:   $ npm install -g generator-jhipster@6.0.5 2. Crea una nuova directory ed entra dentro questa:   $ mkdir ...