Ho trovato una soluzione molto semplice, utilizzando la modalità autonoma.
installare il client CERTBOT (consigliato da Encrypt Let)
(go to the directory where you want to install the certbot client)
git clone https://github.com/certbot/certbot
cd certbot
./certbot-auto --help`
rilascio del diploma (PRIMA VOLTA)
N.B. questa operazione avviene attraverso la porta 80, quindi in caso la Go app ascolto sulla porta 80, deve essere spento prima di eseguire questo comando (che è molto rapido da eseguire, tra l'altro)
./certbot-auto certonly --standalone-supported-challenges http-01 -d www.yourdomain.com
ADD ASCOLTATORE SSL nel codice GO
http.ListenAndServeTLS(":443", "/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem", "/etc/letsencrypt/live/www.yourdomain.com/privkey.pem", nil)
Fatto!
di rinnovare CERTIFICATO (certificati scadono dopo 90 giorni)
N.B.Puoi eseguirlo manualmente (riceverai un'email diversi giorni prima della scadenza del certificato) o impostare un crontab
se l'app Go non ascolta più la porta 80, l'app Go può continuare a funzionare mentre eseguire questo comando:
./certbot-auto renew --standalone
se il GO app ascolta ancora la porta 80, è possibile specificare i comandi per arrestare e riavviare l'applicazione Go:
./certbot-auto renew --standalone --pre-hook "command to stop Go app" --post-hook "command to start Go app"
per la docum completa sentazione della Certbot comandi: https://certbot.eff.org/docs/using.html
fonte
2016-05-21 11:32:18
Utilizzare https://caddyserver.com/ - che fa questo per voi (rilascia un certificato e proxy alla vostra applicazione). – elithrar
Qual è la domanda: come creare un certificato per un server web Go? Come configurare il server web Go per utilizzare il certificato/chiave privata? Altro ? –
Il pacchetto 'crypto/tls' di Go è in grado di caricare certificati (chiavi pubbliche e private) da file in formato PEM. Uno strumento fornito da Let's Encrypt (ora sembra essere piuttosto promosso da EFF) è in grado di fornirti quel file in formato PEM. Quindi: 1) leggere una guida su come ottenere il certificato da Let's Encrypt e farlo; 2) Una volta ottenuto questo certificato, leggi come fare in modo che 'crypto/tls' lo legga e lo implementa nei tuoi server; 3) Chiedi ai tuoi server di leggere il tuo certificato. Hai finito. – kostix