Bitte um Hilfe zu Reverse Proxy + Letsencrypt

For topics beyond KeyHelp. / Für Themen jenseits von KeyHelp.
Post Reply
bernhard
Posts: 156
Joined: Fri 29. May 2020, 14:36

Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by bernhard »

Ich betreibe ein Uptime Kuma hinter einem Reverse Proxy. Funktioniert wunderbar, nur leider kann LetsEncrypt keine Zertifikate mehr ausstellen:

Code: Select all

[23-Jan-2024 10:19:05] INFO | check domain "example.com'
[23-Jan-2024 10:19:05] INFO | certificate is valid until 2024-02-03 16:45:10 (11 days left)
[23-Jan-2024 10:19:05] INFO | certificate is in renewal period
[23-Jan-2024 10:19:05] INFO | renew cert
[23-Jan-2024 10:19:05] INFO | Using certificate authority: "https://acme-v02.api.letsencrypt.org/" (PRODUCTION).
[23-Jan-2024 10:19:05] INFO | Getting endpoint URLs.
[23-Jan-2024 10:19:05] INFO | Account "foo" already registered. Continue.
[23-Jan-2024 10:19:05] INFO | Requesting Key ID.
[23-Jan-2024 10:19:05] INFO | Sending signed request to "https://acme-v02.api.letsencrypt.org/acme/new-acct".
[23-Jan-2024 10:19:06] INFO | Start certificate generation.
[23-Jan-2024 10:19:06] INFO | Token stored at: /home/keyhelp/www/.well-known/acme-challenge/local-check-123.456
[23-Jan-2024 10:19:06] INFO | URL: http://example.com/.well-known/acme-challenge/local-check-123.456 | HTTP code: 200 | HTTP body (first 100 chars): <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8" />    <meta name="viewport" conte
[23-Jan-2024 10:19:06] ERROR | a Let's Encrypt error occurred: Local resolving checks failed for domain "example.com". Please ensure that your domain is locally resolvable!
Mein Setup sieht so aus: Regeln für HTTP sind leer, Regeln für HTTPS folgen, HTTP-->HTTPS Weiterleitung aktiv.

Für HTTPS habe ich folgende zwei Varianten versucht:

Code: Select all

ProxyPassMatch ^/.well-known/.* !

Code: Select all

ProxyPass /.well-known !
Danach dann immer die Regeln für den Proxy von Uptime Kuma.

Hat jemand ne Idee, was da nicht passt und wie es passend gemacht werden kann? Danke!
User avatar
Jolinar
Community Moderator
Posts: 4004
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by Jolinar »

bernhard wrote: Tue 23. Jan 2024, 11:31 Für HTTPS habe ich folgende zwei Varianten versucht:
Gib uns bitte den kompletten Block an Apache Anweisungen, die du eingetragen hast.
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
bernhard
Posts: 156
Joined: Fri 29. May 2020, 14:36

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by bernhard »

Code: Select all

# dont proxy letsencrypt requests
ProxyPass /.well-known !

# uptime kuma directives
ProxyPass / http://localhost:3001/
RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket
RewriteRule /(.*) ws://localhost:3001/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket
RewriteRule /(.*) http://localhost:3001/$1 [P,L]
User avatar
Jolinar
Community Moderator
Posts: 4004
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by Jolinar »

Ändere mal die erste Zeile (nach dem Comment) in:

Code: Select all

<IfModule mod_proxy.c>
        ProxyPass /.well-known/acme-challenge !
</IfModule>

Alias /.well-known/acme-challenge /home/keyhelp/www/.well-known/acme-challenge
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
bernhard
Posts: 156
Joined: Fri 29. May 2020, 14:36

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by bernhard »

Leider nein, gleicher Fehler :(
bernhard
Posts: 156
Joined: Fri 29. May 2020, 14:36

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by bernhard »

Ich hab auch schon versucht das "local domain name resolving" auszuschalten... Dann bekomm ich diesen Fehler:

Code: Select all

[23-Jan-2024 12:19:55] INFO | Sending signed request to "https://acme-v02.api.letsencrypt.org/acme/chall-v3/307269758956/6njTuw".
[23-Jan-2024 12:19:55] ERROR | a Let's Encrypt error occurred: Verification ended with an error.
Details: x.x.x.x: Invalid response from https://example.com/.well-known/acme-challenge/xxx: "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, init"
Type: urn:ietf:params:acme:error:unauthorized
Full response: {"type":"http-01","status":"invalid","error":{"type":"urn:ietf:params:acme:error:unauthorized","detail":"x.x.x.x: Invalid response from https:\/\/example.com\/.well-known\/acme-challenge\/xxx: \"<!DOCTYPE html>\\n<html lang=\\\"en\\\">\\n<head>\\n    <meta charset=\\\"UTF-8\\\" \/>\\n    <meta name=\\\"viewport\\\" content=\\\"width=device-width, init\"","status":403},"url":"https:\/\/acme-v02.api.letsencrypt.org\/acme\/chall-v3\/307269758956\/6njTuw","token":"xxx","validationRecord":[{"url":"http:\/\/example.com\/.well-known\/acme-challenge\/xxx","hostname":"example.com","port":"80","addressesResolved":["x.x.x.x"],"addressUsed":"x.x.x.x"},{"url":"https:\/\/example.com\/.well-known\/acme-challenge\/xxx","hostname":"example.com","port":"443","addressesResolved":["x.x.x.x"],"addressUsed":"x.x.x.x"}],"validated":"2024-01-23T12:19:52Z"}
User avatar
Jolinar
Community Moderator
Posts: 4004
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by Jolinar »

Ich hatte im Startpost die letzte Zeile deiner geposteten Meldung übersehen:

Code: Select all

[23-Jan-2024 10:19:06] ERROR | a Let's Encrypt error occurred: Local resolving checks failed for domain "example.com". Please ensure that your domain is locally resolvable!
Das würde aber nicht mit deiner Aussage in Einklang stehen:
bernhard wrote: Tue 23. Jan 2024, 11:31 nur leider kann LetsEncrypt keine Zertifikate mehr ausstellen
Denn bei Problemen mit der lokalen Auflösung dürftest du auch bisher kein Zertifikat bekommen haben...

Teste mal, ob du am CLI auf die Domain per wget oder curl zugreifen kannst.
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
bernhard
Posts: 156
Joined: Fri 29. May 2020, 14:36

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by bernhard »

Danke für deine Hilfe.

Ja, das hab ich schon versucht und das scheint zu passen. Bei http://example.com bekomm ich ein 301 auf https. Bei https://example.com bekomm ich "Found. Redirecting to /dashboard".
bernhard
Posts: 156
Joined: Fri 29. May 2020, 14:36

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by bernhard »

Hat jemand eine Idee? Ich habe nur noch ein paar Tage Zeit.

Ich habe auf zwei Servern genau das gleiche Problem. Auf dem anderen Server hab ich dann den alle Apache Rules gelöscht, das Zertifikat erstellt, Rules wieder eingetragen. Das will ich aber nicht alle 90 Tage manuell machen müssen, also wäre ich für eine saubere Lösung sehr dankbar.
pandinusimperator
Posts: 51
Joined: Tue 24. Aug 2021, 22:34

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by pandinusimperator »

Probiere mal

Code: Select all

# uptime kuma directives
RewriteEngine on
RewriteCond %{HTTP:Upgrade} =websocket
RewriteRule /(.*) ws://localhost:3001/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket
RewriteRule /(.*) http://localhost:3001/$1 [P,L]

<location />
ProxyPass / http://localhost:3001/
</location>
<location /.well-known/acme-challenge>
ProxyPass "!"
</location>
Also speziell den location-Teil. Hat bei mir bei einem ähnlichen Fall geholfen.
bernhard
Posts: 156
Joined: Fri 29. May 2020, 14:36

Re: Bitte um Hilfe zu Reverse Proxy + Letsencrypt

Post by bernhard »

Danke. Du hast leider nen Syntaxfehler in deinem Code.

Ich hab's jetzt aber selbst geschafft:

Code: Select all

RewriteEngine on

# don't proxy requests to the .well-known folder
RewriteCond %{REQUEST_URI} ^/\.well-known/.*
RewriteRule ^ - [L]

# send other requests to uptime kuma
RewriteCond %{HTTP:Upgrade} =websocket
RewriteRule /(.*) ws://localhost:3001/$1 [P,L]
RewriteCond %{HTTP:Upgrade} !=websocket
RewriteRule /(.*) http://localhost:3001/$1 [P,L]
Post Reply