HTTPS mit NGINX auf Ubuntu

HTTPS mit NGINX auf Ubuntu

1. Installieren des Webservers

Als erstes müssen wir unseren Webserver installieren. Dieser kann über auf Ubuntu/Debian über die Standardpaketquellen installiert werden. Für unsere Installation verwenden wir NGINX, einen sehr schnellen und ausgereiften Webserver.

sudo apt update && sudo apt dist-upgrade
sudo apt install nginx

Damit sollte unser Webserver fertig installiert sein und auch schon über den HTTP-Port :80 erreichbar sein.

2 Firewall einstellungen anpassen

Für den Fall, dass wir eine Firewall nutzen müssen wir ausnahmen für Nginx erstellen.

sudo ufw allow ssh # Erlaube SSH-Verbindungen (falls wir über SSH auf den Server zugreifen)
sudo ufw allow 'Nginx Full' # Erlaube alle Nginx Verbindungen zur außenwelt.
sudo ufw enable # Aktiviert die Firewall

Nun können wir den Status der Firewall mit sudo ufw status überpürfen.

root@elbm:~# sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
Nginx Full                 ALLOW       Anywhere
22/tcp                     ALLOW       Anywhere
Nginx Full (v6)            ALLOW       Anywhere (v6)
22/tcp (v6)                ALLOW       Anywhere (v6)

3a Certbot nutzen

Für denn Fall das unser Webserver nicht hinter einem Reverseproxy liegt und damit vom Internet erreichbar ist und eine Domain/Subdomain zugewiesen hat, können wir Certbot nutzen um uns echte HTTPS-Zertifikate zu generieren.

Certbot installieren

Da sich Certbot nicht im Standardrepository des APT Paketmanagers befindet müssen wir ein PPA hinzufügen.

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

Certbot einrichten

Nun können wir mit Certbot automatisiert unsere Zertifikate austellen lassen und gleichzeitig auch unseren Webserver richtig dafür einrichten, cool oder?

sudo certbot --nginx -d hierDomainEinsetzen.at -d alternativ.subdomainHier.at

Certbot erneuert die Zertifikate auch von selbst, also können wir den Server jetzt getrost für immer so versauern lassen bis eine Sicherheitslücke unserem ungepatchen Webserver zum Verhängnis wird.