Hoe maak je een selfsigned SSL certificaat met NGINX

Een selfsigned ssl certificaat is handig achter cloudflare, maar niet geschikt voor publieke sites omdat deze niet door browsers ondersteund wordt. Gebruik daavoor Letsencrypt. Selfsigned SSL certificaten zijn ook handig om te voorkomen dat je het echte domeinnaam bij een IP uitlekt als iemand het ip opzoekt in zijn browser.

Maak het SSL certificaat:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
De informatie die je hier invult maakt niet uit, dus klik gerust een paar keer op enter.

Vervolgens moet je het ssl certificaat aan je NGINX config toevoegen via de volgende 2 lijnen:

ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

Zorg ervoor dat je SSL op full hebt staan in cloudflare als je daar gebruik van maakt, anders zal je een redirect loop krijgen. Gebruik niet de strict mode optie tenzij je een valide ssl certificaat hebt zoals van letsencrypt of een cloudflare origin certificate.
Je config komt er ongeveer zo uit te zien:

server {
    listen 80;
    server_name tutorial.feroxhosting.nl;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl http2;
    server_name tutorial.feroxhosting.nl;
    root /var/www/jouwapplicatie;
    index index.php;
    access_log /var/log/nginx/jouwapplicatie.app-access.log;
    error_log  /var/log/nginx/jouwapplicatie.app-error.log error;
    # SSL Configuration
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    location ~ /\.ht {
        deny all;
    }
}

restart nginx met service nginx restart en voilá, jouw web applicatie is online!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *