Nginx

Hoe de Nginx-server te versleutelen met Let's Encrypt op Ubuntu 20.04

Hoe de Nginx-server te versleutelen met Let's Encrypt op Ubuntu 20.04
Een certificeringsinstantie die bekend staat als Let's Encrypt demonstreert een eenvoudige methode om certificaten te verkrijgen en te installeren voor het versleutelen van HTTPS op webservers. Een softwareclient genaamd Certbot wordt gebruikt om de vereiste stappen voor dit proces te automatiseren. De installatie van certificaten op Nginx en Apache gaat volledig automatisch. Ik zal je laten zien hoe je je Nginx-server kunt beveiligen met een gratis SSL-certificaat op Ubuntu 20.04.

We zullen verschillende Nginx-serverconfiguratiebestanden gebruiken omdat dit helpt bij het vermijden van veelvoorkomende fouten en ook helpt bij het handhaven van de standaardconfiguratiebestanden als een uitwijkoptie.

Stap 1:

Werk zoals altijd eerst uw APT . bij.

$ sudo apt-update

Stap 2:

Upgrade nu uw APT.

$ sudo apt-upgrade

Stap 3:

Download en installeer nu een Certbot-softwaretool waarmee u een SSL-certificaat van Let's Encrypt kunt krijgen. Voer de volgende terminalopdracht uit voor het installeren van Certbot via APT.

$ sudo apt install certbot python3-certbot-nginx

Hiermee wordt certbot geïnstalleerd, maar je moet nog steeds het Ngnix-configuratiebestand configureren voor de installatie van SSL-certificaten.

Stap 4:

U moet een serverblokkering instellen voordat u naar de volgende stap gaat, en het is een noodzakelijke stap als u meerdere sites host. We zullen een nieuwe map maken in het pad "/var/www" en de standaardmap onaangeroerd laten. Voer de volgende opdracht uit om een ​​nieuwe map aan te maken:.

$ sudo mkdir -p /var/www/voorbeeld.com/html

Stap 5:

Geef nu eigendomsrechten aan deze map via de volgende terminalopdracht:.

$ sudo chown -R $USER:$USER /var/www/voorbeeld.com/html

Stap 6:

Zorg er nu voor dat de machtigingen worden verleend door het volgende terminalcommando uit te voeren:.

$ sudo chmod -R 755 /var/www/voorbeeld.com

Stap 7:

Maak nu een index.html-bestand met je favoriete teksteditor, ik gebruik een gedit-teksteditor.

$ sudo gedit /var/www/voorbeeld.com/html/index.html

Voeg de volgende tekst toe in dit HTML-bestand:.



Welkom bij voorbeeld.com!


Succes! Het voorbeeld.com serverblok werkt!



Bewaar en sluit het bestand.

Stap 8:

Maak nu een nieuw configuratiebestand in de sites-beschikbare map met uw favoriete teksteditor door de volgende opdracht uit te voeren:.

$ sudo gedit /etc/nginx/sites-available/example.com

Voeg nu de volgende tekst toe aan dit configuratiebestand voor de nieuwe directory en domeinnaam:.

server
luister 80;
luister [::]:80;
root /var/www/voorbeeld.com/html;
indexindex.html-index.htm-index.nginx-debian.html;
voorbeeld servernaam.com www.voorbeeld.com;
plaats /
try_files $uri $uri/ =404;

Bewaar en sluit dit bestand om effect te hebben.

Stap 9:

Schakel nu de nieuwe map in voor het opstarten van Nginx via de volgende terminalopdracht:.

$ sudo ln -s /etc/nginx/sites beschikbaar/voorbeeld.com /etc/nginx/site-enabled/

Stap 10:

Om problemen met het geheugen van de hash-bucket met de servernaam te voorkomen, geeft u een enkele waarde op in het volgende configuratiebestand:.

$ sudo gedit /etc/nginx/nginx.conf

Verwijder nu het # -teken van de optie hash_bucket_size om het commentaar ongedaan te maken. Sla het bestand op.

Stap 11:

Typ nu de volgende twee opdrachten om syntaxisfouten te verwijderen en de Nginx-server opnieuw op te starten.

$ sudo nginx -t

$ sudo systemctl herstart nginx

Stap 12:

Nu moet u de Nginx-configuratiebestanden verifiëren en bevestigen. Omdat certbot het juiste serverblok moet vinden in de Nginx-configuratie, zoekt het naar een servernaam die overeenkomt met het aangevraagde domein. Om deze configuratiebestanden te verifiëren, typt u de volgende terminalopdracht:.

$ sudo nginx -t

Stap 13:

Werk nu uw UFW-firewallregels bij om Nginx volledige machtigingen toe te staan. Als u eerdere regels heeft met betrekking tot de HTTP-server, verwijder deze dan met behulp van de UFW-deny-optie voordat u de volgende opdracht toevoegt.

sudo ufw staat 'Nginx Full' toe

Stap 14:

Nu komen we op het punt waar we een SSL-certificaat moeten installeren met behulp van certbot-software. Voer de volgende terminalopdracht uit:.

$ sudo certbot --nginx -d voorbeeld.com -d www.voorbeeld.com

Als u certbot voor de eerste keer gebruikt, wordt u om een ​​e-mailadres en algemene voorwaarden gevraagd, ga hiermee akkoord en u kunt naar de volgende stap gaan.

Stap 15:

Nu wordt u gevraagd om de configuratie van uw HTTPS-instellingen, kiest u de benodigde opties en drukt u op Enter om door te gaan. Certbot zal alle vereiste certificaten installeren en de Nginx-bestanden bijwerken; uw server wordt opnieuw geladen met een bericht om u te vertellen dat uw proces succesvol is.

Stap 16:

Nu je de certificaten hebt geïnstalleerd, moet je er ook voor zorgen dat deze certificaten na een bepaalde tijd automatisch worden vernieuwd. Voer de volgende twee terminalopdrachten uit om ervoor te zorgen dat dit proces mogelijk is:.

$ sudo systemctl status certbot.tijdopnemer

$ sudo certbot vernieuwen --dry-run

Conclusie:

Tot nu toe hebben we besproken hoe u een afzonderlijk serverblok in Nginx kunt bouwen, certificaten kunt installeren met behulp van de Certbot-softwaretool van Let's Encrypt-servers van certificeringsinstanties en hoe u een verlengingsproces voor deze certificeringen kunt toepassen.

Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...
Handige hulpmiddelen voor Linux-gamers
Als je graag games op Linux speelt, is de kans groot dat je apps en hulpprogramma's zoals Wine, Lutris en OBS Studio hebt gebruikt om de game-ervaring...