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:.
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:.
serverluister 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.confVerwijder 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.