[gelöst] nginx reverse proxy in einer lxc Umgebung und letsencrypt!

Gemeinsam ins Internet mit Firewall und Proxy.
Antworten
knasan
Beiträge: 1
Registriert: 13.01.2019 22:26:43

[gelöst] nginx reverse proxy in einer lxc Umgebung und letsencrypt!

Beitrag von knasan » 14.01.2019 12:14:59

Hallo Forum,

ich hoffe das ich der richtigen Kategorie schreibe, wenn nicht bitte Verschieben.

Folgendes Problem:
Ich habe einen Server der mehrere LXC Container beinhaltet. Auf dem Hauptserver läuft die Firewall (shorewall) und fail2ban.
Alle Anfragen von Port 80 und 443 werden all an meinem LXC Container der als reverse proxy konfiguriert ist weitergeleitet. In diesem Container möchte ich gerne die Zertifikate über das acmetool beantragen, bekomme leider immer die Fehlermeldung "failed all combinations".

Und so recht weiß ich gerade nicht wo der Fehler liegen könnte.
Muss eigentlich in den nginx logs eine Meldung kommen wenn eine Anfrage gestartet wird?
Gehe ich über Web von extern auf die Adresse (Port 80) sehe ich logeinträge, aber wenn ich acmetool aufrufe, ist nichts zu erkennen.

in meinem Container der Reverse Proxy macht NGINX:
default_http.conf

Code: Alles auswählen

server {
  listen *:80 default;
  server_name localhost; 

  root /var/nginx/default;
  access_log            /var/log/nginx/default_http.access.log combined;
  error_log             /var/log/nginx/default_http.error.log;

  location ^~ /.well-known/acme-challenge {
    root  /var/lib/acme/webroot;
    index index.html index.htm index.php;
    default_type text/plain;
  }

  location = /.well-known/acme-challenge/ {
    root /var/lib/amce/webroot;
    index index.html index.htm index.php;
    return 404;
  }

  location / {
    root /var/empty;
    index index.html index.htm index.php;
  }
nextcloud.conf

Code: Alles auswählen

server {
  listen       *:443 ssl http2;
  server_name  nextcloud.knasan.de;
  ssl on;
  ssl_certificate           /etc/cacert/nextcloud.knasan.de.crt;
  ssl_certificate_key       /etc/cacert/nextcloud.knasan.de.key;
  ssl_session_cache         shared:SSL:10m;
  ssl_session_timeout       5m;
  ssl_protocols             TLSv1.2;

  access_log            /var/log/nginx/nextcloud.knasan.de.access.log combined;
  error_log             /var/log/nginx/nextcloud.knasan.de.error.log;

  location / {
    proxy_pass            https://nextcloud:8080;
    proxy_read_timeout    300;
    proxy_connect_timeout 90;
    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;
    proxy_set_header      X-Forwarded-Host nextcloud.knasan.de;
    proxy_set_header      Connection $connection_upgrade;
    proxy_set_header      Upgrade $http_upgrade;
    proxy_set_header      HTTPS $var_https;
  }
}
Gruß

PS: ich habe acmetool mit --stdio --xlog.severity=3 gestartet und gesehen das der Proxy ein redirect auf den Container macht für den ich ein Zertifikat erstellen möchte. Ich möchte es jedoch nicht auf dem Host erstellen für den ich das Zertifikat erstelle. Also denke ich, da gibt es noch ein nginx Problem. Normal sollte nach meinem Verständnis immer die default_http (wegen port 80) angefragt werden da in nextcloud.conf kein port 80 definiert ist.

Nachtrag 2:
acmetool wollte irgendwie nicht und habe mir jetzt certbot angesehen. Über certbot lies sich wie von mir gewünscht das Zertifikat erstellen. Warum acmetool das nicht konnte, bleibt mir ein Rätsel.

Antworten