Skip to main content

HTTPS Reverse Proxy mit Nginx konfigurieren

Einleitung

Sobald wir Lokal Webdienste erstellen, möchten wir diese vielleicht auch üüber ein TLS Zertifikat verschlüverschlüsseln. Dazu verwenden wir selbst signierte Zertifikate und einen Nginx Webserver. Dadurch ist es möglich, dass wir unsere Web-Dienste üüber HTTPS erreichbar machen können. 

Wie wir TLS Zertifikate erstellen können, wird hier genauer erkläerklärt.

Nginx installieren

Im ersten Schritt müssen wir auf unserem Debian Server das Paket Nginx installieren. Dazu verwenden wir folgenden Befehl:

apt update && apt upgrade -y && apt install nginx -y

Nginx Konfiguration anpassen

Jetzt erstellen wir die Nginx Konfigurationsdatei einmal neu. Im Anschluss ööffnen wir die Konfigurationsdatei und fügen den nachstehenden Inhalt in die Datei ein.

rm /etc/nginx/sites-enabled/default
nano /etc/nginx/sites-enabled/default
server {
   listen 80;
   server_name host.name;
   return 301 https://die.domain$request_uri;
 }

server {
   listen 443 ssl;
   server_name host.name;
   ssl_certificate  /pfad/zum/zertifikat.csr;
   ssl_certificate_key  /pfad/zum/zertifikat.key; 
   ssl_prefer_server_ciphers on;

   location / {
        proxy_pass http://localhost:<port>;

        proxy_set_header        Host $host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
	}
}

Sobald wir diesen Inhalt in die Datei eingefüeingefügt haben, brauchen wir jetzt nur noch einmal den Nginx Dienst neu zu starten. 

systemctl restart nginx

Sobald der Dienst neu gestartet ist, überprüüberprüfen wir, ob der Dienst ordnungsgemäßordnungsgemäß gestartet ist. Dies können wir mit dem nachstehenden Befehl überprüüberprüfen. 

systemctl status nginx

nginx_reverse_proxy_1.JPG