Um sich ein self-signed (selbst-signiertes) SSL Zertifikat für eine Nginx Anwendung zu erstellen und diese zu nutzen:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:4096 -keyout /etc/ssl/private/hostnamezertifikatsname.key -out /etc/ssl/certs/hostnamezertifikatsnam.crt
(Hinweis: Die Gültigkeitsdauer von 10 Jahren sollte nur für Testumgebungen derart lang gesetzt werden.)
In der Konfiguration des Hosts die Umstellung von Port 80 („listen 80“) auf 443 vornehmen und die korrekten Pfade für das Zertifikat und den Key angeben:
server {
listen 443 ssl;
server_name meinhostname.tld; # alternativ die IP Adresse
ssl_certificate /etc/ssl/certs/hostnamezertifikatsnam.crt;
ssl_certificate_key /etc/ssl/private/hostnamezertifikatsname.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
...
}
Nun den Webserver Nginx einmal neu starten:
sudo systemctl restart nginx
Man sollte nun beim Aufruf von https://IP_NGINX den Warnhinweis erhalten, dass die Verbindung zwar SSL gesichert, das Zertifikat aber nicht geprüft werden konnte, erhalten.
https://nginx.org/en/docs/http/configuring_https_servers.html