letsencrypt funktioniert nicht auf 2tem Webserver

wario

Active member
hallo zusammen, ich experimentiere gerade wieder etwas rum mit diversen Services auf unterschiedlichen Rechnern in meinem Netzwerk.
Mir gelingt es nicht für einen weiteren Rechner ein SSL Zertifikat zu generieren.
Setup ist sehr einfach:
WAn -Normale Router mit standard Firewall - Portweiterleitung auf eine Syno mit eigenem Webserver und einem Reverse Proxy Server.
Zweiter Rechner mit Webserver mit einer frischen Nextcloud Instanz dirkt am router

Nextcloud auf dem zweiten Rechner ist im Lan erreichbar, und auch über das Internet momentan nur via http, es gibt also keine schwierigkeiten bei der Ereichbarkeit, auch nslookup lösst die Domain auf den Server korrekt auf. Die Instanz ist per LTE Funktnetz und auch von jemanden anderes der es testen durfte von ausserhalb erreichbar.

Jetzt habe ich versucht auf dem Server mit Nextcloud ein Letsencrypt Zerti zu generieren, das schlägt aber Fehl mit der Meldung:

Certbot failed to authenticate some domains (authenticator: apache). The Certificate Authority reported these problems:
Domain: cloud.mariohofmann.freeddns.org
Type: unauthorized
Detail: xx.xx.xx.xxx: Invalid response from http://xxxxxxxxxxxxxxxx/.well-known/acme-challenge/M5ukcnOniCVm647JxujnWugfDwNWR5UL9OnpS64N-X0: 404

mein RP ist momentan so wie im Anhang konfiguriert.

Ich hab das selbe auf der Syno probiert, aber die will auch kein Zerti liefern, Letsencrypt kann den domainnamen nicht überprüfen. Wo habe ich den Fehler?

Das letsencrypt log enthält ja viele Daten also wäre es nicht so gut dass hier zu posten... kann es gern jemanden via mail schicken?


grüsse
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    185,4 KB · Aufrufe: 3
Zuletzt bearbeitet:

wario

Active member
das ist eine reine testdomain. die wird wieder gelöscht, aber ja mache ich gleich

ps: link entfernen funktioniert hier nicht, der link wird immer wieder aktiviert nach bearbeiten und speichern.

lg
 

blurrrr

Well-known member
Kann es sein, dass "https" auf die Syno zeigt und "http" auf den NC-Server? Dann kriegst Du spätestens bei der Verlängerung der Zertifikate auf der Syno Probleme... Warum sprichst Du den NC-Server nicht auch einfach über die Syno an? Reverse-Proxy läuft doch schon und dahin sollten auch die Anfragen via Port 80 gehen (als auch die an Port 443)...

1666533696656.png

Den Teil mit der roten Umrandung auf "https" stellen, dann wäre das soweit durch. Die Test-Domain kann dann ja auch direkt auf die Syno zeigen, der Reverse-Proxy wird es schon regeln :) Let's Encrypt braucht halt zwingend Port 80 und Du kannst bei Dir nur 1x Port80 an ein bestimmtes internes Ziel weiterleiten, somit ist die Sache mit dem Reverse-Proxy schon ganz gut.
 

wario

Active member
Kann es sein, dass "https" auf die Syno zeigt und "http" auf den NC-Server?
jetzt habe ich wieder Bahnhof gefühle. Was zeigt mit https auf meine Syno? Ich habe 2 domains, eine für eine Webpage auf der Syno, da läuft das Zerti über die Syno und die Page funktioniert. und ich haben nen 2te rechner den ich ebenfalls mit https ansprechen will aber geht nicht weil Letsencrypt fehlschlägt.
Dann kriegst Du spätestens bei der Verlängerung der Zertifikate auf der Syno Probleme... Warum sprichst Du den NC-Server nicht auch einfach über die Syno an?
was meinst du mit nc-server über die syno ansprechen? du meinst die zertifikatsvergabe? Geht auch über die Syno nicht

Reverse-Proxy läuft doch schon und dahin sollten auch die Anfragen via Port 80 gehen (als auch die an Port 443)...

Anhang anzeigen 1812

Den Teil mit der roten Umrandung auf "https" stellen, dann wäre das soweit durch.
das habe ich bereits probiert, habe auf https und 443 umgestellt, aber es kommen die selben Fehler. Wenn ich auf https umstelle kann die seite nicht mehr gefunden werden (404)
Die Test-Domain kann dann ja auch direkt auf die Syno zeigen
die testdomain auf meine syno zeigen? Die testdoimain zeigt auf meine externe IP adresse und wird von der syno entgegengenommen und auf meinen nc Server weitergeleitet. Ich komm mir wieder total bld vor... :(
, der Reverse-Proxy wird es schon regeln :) Let's Encrypt braucht halt zwingend Port 80 und Du kannst bei Dir nur 1x Port80 an ein bestimmtes internes Ziel weiterleiten, somit ist die Sache mit dem Reverse-Proxy schon ganz gut.
hab ja die portweiterleitung 80/443 auf die Adresse der Syno geschickt welche wiederum auf der RP ist. der RP läuft nicht in einem Docker oder so hat die selbe IP wie die Syno.
 

wario

Active member
muss ich nicht für den vhost auf dem server auch 443 freigeben, in der fertig conf die ich mir herruntergeladen habe steht nur 80
ja ich weiss bin noch nicht so weit die confs selber zu erstellen, sorry :D
 

Anhänge

  • vhost.jpg
    vhost.jpg
    244,8 KB · Aufrufe: 3

blurrrr

Well-known member
Du hast "eine" öffentliche IP, ergo kannst Du genau "eine" Portweiterleitung pro Port erstellen. Sinnig wäre es daher, Port 80 + 443 an den Reverse-Proxy weiterzuleiten. Port 80 brauchst Du schon aufgrund der Lets-Encrypt-Zertifikate, 443 wären dann die normalen Webseiten (inkl. Verschlüsselung). Zertifikate machst Du erstmal nur auf dem Reverse-Proxy, die Verbindung zwischen Reverse-Proxy und Zielserver kannst Du auch erstmal unverschlüsselt laufen lassen. Somit sieht die Kommunikation dann wie folgt aus:

Client <--https--> Reverse-Proxy <--http--> Zielserver

Wohin der Client schlussendlich geschickt wird, ist abhängig vom angesprochenen FQDN. Sieh erstmal zu, dass Deine Portweiterleitungen für 80+443 wieder auf die Syno zeigen...
 

wario

Active member
Du hast "eine" öffentliche IP, ergo kannst Du genau "eine" Portweiterleitung pro Port erstellen. Sinnig wäre es daher, Port 80 + 443 an den Reverse-Proxy weiterzuleiten. Port 80 brauchst Du schon aufgrund der Lets-Encrypt-Zertifikate, 443 wären dann die normalen Webseiten (inkl. Verschlüsselung). Zertifikate machst Du erstmal nur auf dem Reverse-Proxy, die Verbindung zwischen Reverse-Proxy und Zielserver kannst Du auch erstmal unverschlüsselt laufen lassen. Somit sieht die Kommunikation dann wie folgt aus:

Client <--https--> Reverse-Proxy <--http--> Zielserver

Wohin der Client schlussendlich geschickt wird, ist abhängig vom angesprochenen FQDN. Sieh erstmal zu, dass Deine Portweiterleitungen für 80+443 wieder auf die Syno zeigen...
ich schrieb ja dass die Portweiterleitung auf die Syno zeigt bzw auf deren IP. Auf der Syno ist ja auch der RP und der läuft doch unter der selben IP, wo hab ich den gschrieben dass 80/443 woanders hinzeigt?
 

blurrrr

Well-known member
So sollte das Konstrukt erstmal im groben aussehen:

1666537106733.png

Jetzt habe ich versucht auf dem Server mit Nextcloud ein Letsencrypt Zerti zu generieren
Das Zertifikat erstellst Du auf der Syno und dort wird es auch der entsprechenden Domain zugewiesen. Heisst die Syno (bzw. der Reverse-Proxy) nutzt das Zertifikat bei der Kommunikation mit dem Client (daher ist das ganze dann auch via "https" ansprechbar). Der Reverse-Proxy hingegen kommuniziert "intern" mit der Nextcloud via "http".
 

wario

Active member
so wie auf dem Bild sieht es bei mir aus. Und ich schrieb auch dass ich ebenfalls die Zertis versucht habe auf der Syno zu erstellen, es geht nicht. Auch wenn ich den RP die Quelle auf https umstelle. Dann ist meine Seite nicht mehr ereichbar (seite nicht gefunden 404)
 

blurrrr

Well-known member
Also grundsätzlich ist es erstmal wie oben dargestellt "korrekt" (auch wenn intern erstmal unverschlüsselt läuft). Wenn die Zertifikatserstellung auf der Syno nicht funktioniert, wird das wohl einen Grund haben, da würde ich zuerst nachschauen (da kannst Du die Nextcloud erstmal getrost liegen lassen, bis das entsprechend funktioniert). Was sagt die Syno denn bei der Zertifikatsanforderung?

EDIT: Gefunden...
Ich hab das selbe auf der Syno probiert, aber die will auch kein Zerti liefern, Letsencrypt kann den domainnamen nicht überprüfen. Wo habe ich den Fehler?
Sicher, dass die Ports alle auf die Syno zeigen und die Domain auch auf die richtige IP zeigt? Firewall in der Syno ggf. noch aktiv (testhalber mal abschalten)?
 

wario

Active member
so wie auf dem Bild sieht es bei mir aus. Und ich schrieb auch dass ich ebenfalls die Zertis versucht habe auf der Syno zu erstellen, es geht nicht. Auch wenn ich den RP die Quelle auf https umstelle. Dann ist meine Seite nicht mehr ereichbar (seite nicht gefunden 404)
Synos letencrypt certbot oder was da läuft spucht immer aus dass letsencrypt die Domain nicht überprüfen kann. Sie ist aber erreichbar, und zwar intern sowie extern. Habe ich auch alles so im Anfangspost geschrieben :)
Ich hab das selbe auf der Syno probiert, aber die will auch kein Zerti liefern, Letsencrypt kann den domainnamen nicht überprüfen. Wo habe ich den Fehler?



grüsse
 

Fusion

Member
Am Ende muss für Nextcloud auch die Syno noch als Trusted Proxy in die config.php eingetragen werden. Müsste einem aber auch der Zugriff über das Web Interface auf die Nextcloud dann sagen.

Bezüglich reverse proxy.
Welche http Header hast du für den Proxy gesetzt in seinen Einstellungen?

Bezüglich Zertifikate, vielleicht schon zu oft probiert und deshalb abgelehnt. Die Syno Fehlermeldungen sind da leider nicht immer nützlich.
 

wario

Active member
Also so wie es jetzt grade ist, funktioniert es via https (extern), lediglich das Zertifikat ist noch das falsche. Mögliche Lösungen habe ich ja grade schon geschrieben, hier noch die Info seitens Synology: https://kb.synology.com/de-de/DSM/tutorial/What_should_I_do_if_cannot_add_renew_lets_encrypt
die syno hilfe habe ich bereits durch. Letsencrypt erstellt mir trotzdem kein zertifikat obwohl alles erreichbar ist.

okay ich mach mich ma an die rp config für nächstcloud. Vielleicht liegts daran.. wusste garnicht dass die cloud auf einen RP konfiguriert werden muss. Komisch dass es aber ohne Zertifikat und via http extern geht.
 

blurrrr

Well-known member
okay ich mach mich ma an die rp config für nächstcloud. Vielleicht liegts daran..
Nein, liegt es nicht. Die Zertifikatsgeschichte hat erstmal rein garnichts mit der Nextcloud-Installation zu tun, das ist ein Ding zwischen Lets Encrypt und der Syno. Bin mir nicht mehr sicher, wie die Limits bei Lets Encrypt waren, aber vielleicht einfach liegen lassen und morgen nochmal versuchen :)

EDIT: Kleiner Nachtrag: https://letsencrypt.org/de/docs/rate-limits/, daran wird es dann wohl eher nicht liegen. Ich würde einfach mal etwas warten...
 

wario

Active member
okay ich habe jetzt ein Zertifikat bekommen, lag wohl tatsachlich an letsencrypt. Was für eine Quark, such ich hier Stundenlang und es liegt an Letsencrypt.. naja egal. Weiter gehts, bin leider noch nicht fertig.. :D Stelle ich jetzts https im RP ein so wie @blurrrr empfohlen, ist die Seite auch erreichbar, aber der Browser zeigt mir immer noch an dass die Verbindung unsicher ist. Das Zerti von R3 Letsencrypt hat er aber?

PS. RP trusted proxies in der config von nc ist gesetzt. Seite wird jetzt auch bei https einstellung im RP angezeigt, was vorher nicht ging.
 

Anhänge

  • Screenshot_20221023-175028.png
    Screenshot_20221023-175028.png
    439,2 KB · Aufrufe: 3

blurrrr

Well-known member
Du musst das Zertifikat auch noch zuweisen... derzeit ist noch immer das synology.me-Zertifikat drin, wenn man die NC-Oberfläche aufruft.

EDIT: Synology DSM -> Systemsteuerung -> Sicherheit -> Reiter "Zertifikat" -> Button "Konfigurieren". Dort für den entsprechend angelegten Dienst das korrekte Zertifikat hinterlegen :)

EDIT2: Ich seh schon, hast schon gefunden, alrighty then... 😉
 

Letzte Anleitungen

Statistik des Forums

Themen
1.334
Beiträge
17.778
Mitglieder
843
Neuestes Mitglied
smartloftnrw
Oben