Installeer Nginx HTTP Server met Let's Encrypt Free SSL-certificaten op Ubuntu 16.04 / 18.10 / 18.10

  • Noah Scott
  • 0
  • 2360
  • 400

Als je een student bent of een nieuwe gebruiker die een Nginx HTTP-server wilt instellen met het gratis Let's Encrypt SSL-certificaat, dan zijn de onderstaande stappen een goede plek om te beginnen ... .

Let's Encrypt is een certificeringsinstantie (CA) die gratis SSL / TLS-certificaten levert aan iedereen die een geldig domein of website bezit ... Deze korte tutorial laat studenten en nieuwe gebruikers zien hoe het Nginx VirtualHost-bestand wordt geconfigureerd om de gratis certificaten van Let's Encrypt CA te gebruiken.

Let's Encrypt biedt ook een tool die dit proces op Linux-systemen automatiseert. Bij de klant is het eenvoudig om de certificaten te verkrijgen, te verlengen en te beheren. Dit proces is zo goed geworden dat het hele proces kan worden geautomatiseerd met de Nginx-webserver ... .

Volg de onderstaande stappen om Nginx-websites in te stellen om Let's Encrypt gratis SSL / TLS-certificaten te gebruiken:

Stap 1: vereisten

Voordat u Let's Encrypt gratis SSL-certificaten installeert en configureert, moet u ervoor zorgen dat uw DNS-instellingen goed zijn en dat uw domein via IP en domeinnaam bereikbaar is op uw server. Misschien wilt u deze records ook invoeren in uw DNS-paneel voor goede maatregelen ...

Zorg ervoor dat uw domein verwijst naar het IP-adres van uw server in het DNS-paneel ...

example.com verwijst naar het IP-adres van uw server

Maak een CAA-record aan waarmee Let's Encrypt een certificaat voor uw domeinnaam kan uitgeven ... om dat te doen, voegt u de records toe zoals hieronder weergegeven:

example.com. IN CAA 0 probleem "letsencrypt.org"

Je kan ook gebruiken jodef om Let's Encrypt een verzoek om een ​​kwaadaardig certificaatprobleem te laten rapporteren naar het onderstaande contactadres ... .

example.com. IN CAA 0 iodef "mailto: [email protected]"

Stap 2: Stel Nginx Virtual Host in

Nu je domein is ingesteld en klaar is ... ga je de Nginx HTTP-server configureren zodat Let's Encrypt-tool de certificaten kan configureren ...

Als je Nginx niet hebt geïnstalleerd, kunnen de onderstaande opdrachten dat voor je doen ...

sudo apt update sudo apt install nginx 

Maak na het installeren van Nginx een virtuele host voor uw websiteconfiguraties en zorg ervoor dat deze de domeinnamen bevat waarvoor u de gratis SSL / TLS-certificaten wilt verkrijgen.

sudo nano /etc/nginx/sites-available/example.com.conf

Dan zou het bestand een gemarkeerde regel moeten hebben die uw domeinnaam definieert.

server luister 80; luister [::]: 80; root /var/www/html/example.com; index index.php index.html index.htm; servernaam example.com www.example.com; client_max_body_size 100M; locatie / try_files $ uri $ uri / /index.php?$args;  locatie ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; inclusief fastcgi_params;  

Sla het bestand op en sluit het af.

Stap 3: Installeer Let's Encrypt Nginx Client

Om Let's Encrypt gratis SSL / TLS-certificaten op uw Ubuntu-machine te krijgen, moet u eerst de bijbehorende client installeren. De klant helpt het proces voor u te automatiseren. Voer de onderstaande opdrachten uit om het te installeren.

sudo apt-get install python-certbot-nginx

Als python-certbot-nginx nog niet is geïnstalleerd, moet u mogelijk de PPA-repository toevoegen en het pakket installeren ...

sudo add-apt-repository ppa: certbot / certbot sudo apt-get update sudo apt-get install python-certbot-nginx

Voer daarna de onderstaande opdrachten uit om uw gratis Let's Encrypt SSL / TLS-certificaat voor uw site te verkrijgen.

sudo certbot --nginx --agree-tos --email [email protected] --redirect --hsts -d example.com -d www.example.com

De bovenstaande commando's worden hieronder uitgelegd:

  • -nginx: Gebruik het installatieprogramma van Nginx Let's Encrypt
  • -akkoord: Ga akkoord met de servicevoorwaarden van Let's Encrypt
  • -omleiding: Voegt een 301-omleiding toe.
  • -e-mail: E-mailadres voor contact.
  • -hsts: Voegt de Strict-Transport-Security-header toe aan elke HTTP-reactie.
  • - d vlag wordt gevolgd door domeinen die u wilt beveiligen.

Daarna moet de SSL-client het certificaat installeren en uw website configureren om al het verkeer via HTTPS om te leiden.

Gefeliciteerd! U heeft https://example.com en https://www.example.com met succes ingeschakeld. Test uw configuratie op: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.example.com ---------------------------- -------------------------------------------------- - BELANGRIJKE OPMERKINGEN: - Gefeliciteerd! Uw certificaat en ketting zijn opgeslagen op: /etc/letsencrypt/live/example.com/fullchain.pem Uw sleutelbestand is opgeslagen op: /etc/letsencrypt/live/example.com/privkey.pem Uw certificaat verloopt op 2018-02-24. Om in de toekomst een nieuwe of aangepaste versie van dit certificaat te verkrijgen, voert u certbot gewoon opnieuw uit met de optie "certonly". Om niet-interactief * al * van uw certificaten te verlengen, voert u "certbot renew" uit. Als u Certbot leuk vindt, overweeg dan om ons werk te steunen door: Doneren aan ISRG / Let's Encrypt: https://letsencrypt.org/donate Doneren aan EFF: https://eff.org/donate-le

Het gemarkeerde codeblok moet automatisch aan uw Nginx-siteconfiguratiebestand worden toegevoegd door Let's Encrypt certbot. Uw site is klaar voor gebruik via HTTPS.

server luister 80; luister [::]: 80; root /var/www/html/example.com; index index.php index.html index.htm; servernaam example.com www.example.com; client_max_body_size 100M; locatie / try_files $ uri $ uri / /index.php?$args;  locatie ~ \ .php $ include snippets / fastcgi-php.conf; fastcgi_pass unix: /var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; inclusief fastcgi_params;  luister 443 ssl; # beheerd door Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # beheerd door Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # beheerd door Certbot omvatten /etc/letsencrypt/options-ssl-nginx.conf; # beheerd door Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # beheerd door Certbot if ($ scheme! = "https") return 301 https: // $ host $ request_uri;  # beheerd door Certbot # Leid niet-https verkeer om naar https # if ($ scheme! = "https") # return 301 https: // $ host $ request_uri; # # beheerd door Certbot

Uw installatie is voltooid ... u moet de certificaten echter altijd handmatig vernieuwen ... U ontvangt een e-mailherinnering om opnieuw in te stellen wanneer de certificaten bijna verlopen. Voer de onderstaande opdrachten uit om het vernieuwingsproces te testen.

sudo certbot vernieuwen --dry-run

Om een ​​proces in te stellen om de certificaten automatisch te vernieuwen, voegt u een cron-taak toe om het vernieuwingsproces uit te voeren.

sudo crontab -e

Voeg vervolgens de onderstaande regel toe en sla op.

0 1 * * * / usr / bin / certbot vernieuwen &> / dev / null

De cron-taak probeert 30 dagen voordat deze verloopt te verlengen ...




Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem