Nachfolgend werden die Schritte beschrieben, wie NGINX als Reverse Proxy unter Linux (z.B. Ubuntu) betrieben werden kann. Zusätzlich wird auch die Aktivierung von SSL/TLS beschrieben und ein Zertifikat von Lets Encrypt angefordert.
NGINX installieren
Unter Linux kann NGINX einfach mit folgendem Befehl installiert werden:
sudo apt install nginx
NGINX ist in jeder gängigen Paketverwaltung vorhanden.
Config für Virtual Host anlegen
Es muss nun ein Virtual Host angelegt werden, welcher die Anfrage von aussen an den inneren Dienst weiterleitet. Wird also z.B. www.example.com
angefragt, muss die Konfiguration diesen an den internen Service wie z.B. http://localhost:8080
weiterleiten.
Hier eine Beispiel-Konfiguration, welche im Verzeichnis etc/nginx/sites-enabled
angelegt wird:
server {
server_name example.com www.example.com;
location / {
proxy_pass http://localhost:8080;
}
}
Zertifikat von Lets Encrypt anfodern
Um ein Zertifikat von Let’s Encrypt anzufordern muss sichergestellt werden, das die Ports 80 und 443 in der Firewall offen für Kommunikation sind.
Falls noch nicht geschehen, muss der certbot
und das passende NGINX-Plugin installiert werden:
sudo apt install certbot python3-certbot-nginx`
Jetzt kann das Zertifikat mit folgendem Befehl angefordert werden:
certbot --nginx -d example.com -d www.exmaple.com
NGINX
-d
gibt die anzufragende Domain an. Wurde das Zertifikat erfolgreich installiert, wird automatisch das Config-File angepasst und NGINX aufgefordert die Config neu einzulesen.