De câțiva ani îmi găzduiesc acest blog acasă, pe un Raspberry Pi, timp în care m-am lovit de diverse situații și am învățat multe lucruri pe care le-am împărtășit pe blog sub formă de tutoriale.
Zilele trecute, dorind să mut serverul pe alt Raspberry Pi 4, pentru a trece de la Ubuntu Server 24.03 LTS la proaspătul lansat Debian 13, am zis să găsesc o soluție pentru a nu mai fi nevoit să țin portul 80 deschis (nici măcar temporar) pentru a putea reînnoi certificatul SSL din 3 în 3 luni.
Venise timpul să găsesc nu neapărat o nouă metodă, ci mai degrabă să îmbunătățesc metod de a implementa un certificat SSL pe propriul server.
Chiar dacă cei de la Cloudflare oferă un certificat SSL între vizitatorul site-ului și serverul Cloudflare, este necesară existența unui alt certificat SSL instalat pe serverul care găzduiește site-ul pentru ca criptarea să fie completă (end-to-end).
Prin metoda clasică a celor de la Let’s Encrypt, se poate genera un certificat SSL emis de ei prin comanda de mai jos, însă era nevoie de deblocarea portului 80 la fiecare reînnoire de certificat:
sudo certbot --nginx
Generarea unui certificat SSL Cloudflare folosind comanda certbot
Primul pas pentru a putea genera un certificat SSL Cloudflare, ce se reînnoiește automat la 3 luni, folosind certbot, este obținerea unui token API pentru autentificarea pe contul Cloudflare.
Acest token va fi salvat într-un fișier ini, într-o locație separată creată special pentru acesta, de unde ulterior va fi apelat în comanda de generare certificat SSL , prezentată mai jos.
Obținerea token-ului API de autentificare pe contul Cloudflare
Primul pas este să te autentifici pe site-ul Cloudflare, cu contul asociat domeniului pentru care dorești să generezi un certificat SSL.
Odată accesat Dashboardul Cloudflare, accesați meniul Manage Account – Account API tokens, apoi dați click pe butonul Create Token.
Din lista de API token templates alegeți Edit zone DNS (ar trebui să fie primul din listă) și dați click pe butonul Use template.
Aici, la Zone Resources alegeți din ultima opțiune domeniul pentru care doriți generarea certificatului SSL, astfel încât cele 3 opțiuni din această secțiune să fie:
- Include
- Specific zone
- domeniul dumneavoastră
Acum dați click pe butonul Continue to summary din josul paginii, iar ulterior pe butonul Create token.
Salvarea tokenului într-un fișier ini
Salvați undeva token-ul generat pentru a îl folosi în introducerea în fișierul ini pe care îl veți face folosind următoarele comenzi:
- Creați un folder pe server special pentru acest fișier folosind cu drepturi sudo comanda (unde veți înlocui cale1/cale2 cu numele folderului în care doriți să salvați tokenul, de asemenea numele fisierului poate fi orice doriți, important este să aibă extensia ini) :
sudo mkdir -p ~/.cale1/cale2
sudo nano ~/.cale1/cale2/credentialecloudflare.ini
În editorul nano scrieți codul de mai jos, introducând tokenul dumneavoastră în locul celui generic:
# Cloudflare API token used by Certbot
dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567
Generarea certificatului SSL
Acum că avem fișierul ini creat cu tokenul de autentificare pentru contul Cloudflare, înainte de a rula comanda de generare certificat SSL trebuie să ne asigurăm că toate pluginurile necesare sunt instalate.
Pentru asta trebuie executată următoarea comandă:
sudo snap install certbot-dns-cloudflare
Acum că totul este gata, puteți rula comanda de generare certificat SSL de mai jos:
sudo certbot -i nginx --dns-cloudflare --dns-cloudflare-credentials ~/.cale1/cale2/credentialecloudflare.ini -d madalincristian.ro
Lasă un răspuns