Ich hatte konkret die Aufgabe, verschiedene Webserver unter einer externen IP-Adresse erreichbar zu machen. Die Webserver verfügen bereits über ein eigenes HTTPS-Zertifikat – ich muss mich als nicht noch um Zertifikate wie Let’sEncrypt etc. kümmern.
Im konkreten Beispiel habe ich für diesen Zweck ein einfaches Ubuntu  Server 18.04 LTS aufgesetzt und in meiner DMZ aufgestellt mit dem Ziel, dort nichts weiter als diesen konkreten NGINX darauf laufen zu lassen.
Nach der Installation von Linux erfolgen wie immer die üblichen Befehle zum Aktualisieren des Betriebssystems
sudo apt update
sudo apt full-upgradeNGINX wird mit einer weiteren einfachen APT-Zeile angestoßen:
sudo apt-get install nginxUm zu konfigurieren, dass NGINX automatisch zum Systemstart mitgestartet wird, geben wir folgenden Befehl ein:
sudo /etc/init.d/nginx startJetzt könnt ihr den NGINX-Webserver einfach testen durch Aufrufen der entsprechenden IP-Adresse im Browser. In meinem konkreten Fall war das die nachfolgende IP-Adresse
http://192.168.140.16Ziel ist es in diesem konkreten Fall, eine Weiterleitung von HTTPS auf HTTPS zu konfigurieren.
 Dafür muss das SSL-Zertifikat vorhanden sein und in die folgenden Dateien kopiert werden:
 public Key:
 sudo vim  /etc/nginx/cert.crt 
 Private Key
 sudo vim /etc/nginx/cert.key 
Anschließend ist es schon soweit – ihr könnt die Konfiguration des NGINX öffnen und die Proxy-PASS-Konfig einfügen. In meinem konkreten Beispiel sah das so aus
sudo vim /etc/nginx/sites-enabled/defaultserver {
    listen 443 ssl;
    server_name subdomain.domain.de;
    ssl_certificate           /etc/nginx/cert.crt;
    ssl_certificate_key       /etc/nginx/cert.key;
    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;
    access_log            /var/log/nginx/jenkins.access.log;
    location / {
      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;
      # Fix the “It appears that your reverse proxy set up is broken" error.
      proxy_pass          https://192.168.140.10:443;
      proxy_read_timeout  90;
      proxy_redirect      https://192.168.140.10:443 https://git.gustini.de;
    }
  }Abschließend noch ein Neustart von NGINX
 sudo service nginx restartAnschließend hat die Lösung bei mir schon funktioniert!
