DotNet (12.01.2023)
-
09.01.2023, 17:12 #1
- Registriert seit
- 19.11.2022
- Beiträge
- 5
Thanked 4 Times in 4 PostsTraefik proxy - TLS handshake error
Hallo,
ich versuche gerade das, was im Video "Traefik auf Server/Raspberry Pi installieren und einrichten: Reverse Proxy für Docker mit Let’s Encrypt HTTPS-Zertifikaten" gezeigt wird, einmal nachzubauen.
Leider funktioniert das bei mir nicht - es kommt im Logfile folgende Fehlermeldung:
time="2023-01-09T14:55:48Z" level=debug msg="Serving default certificate for request: "site1.myserver.de""
time="2023-01-09T14:55:48Z" level=debug msg="http: TLS handshake error from 192.168.32.1:36678: remote error: tls: bad certificate"
Ich habe schon alles genauestens geprüft, finde aber leider nicht die Ursache. Die ACME-Datei liegt in .\letsencrypt\ und hat 0 Bytes. Ich vermute, da ist irgendwo die Ursache zu suchen. CHMOD 600 habe ich auf die Datei gesetzt.
Hat jemand eine Idee, wonach ich gucken kann, um das Problem zu lösen?
Hier noch die weiteren relevanten Dateien:
docker-compose.yml
Code:version: '3' services: traefik: image: traefik:v2.9 container_name: 001-traefik command: - "--providers.file.filename=/traefik.yml" ports: - "80:80" - "443:443" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - ./letsencrypt:/letsencrypt - ./traefik.yml:/traefik.yml networks: - web networks: web: name: traefik_web
Code:log: level: TRACE providers: docker: exposedByDefault: false network: traefik_web entryPoints: http: address: ":80" http: redirections: entryPoint: to: "https" scheme: "https" https: address: ":443" http: tls: certResolver: le certificatesResolvers: le: acme: tlschallenge: true email: "meine@email.de" storage: "/letsencrypt/acme.json"
Code:services: nginx: image: nginx:latest container_name: 002-nginx labels: - "traefik.enable=true" - "traefik.http.routers.nginx.rule=Host(`site1.myserver.de`)" networks: - traefik_web networks: traefik_web: external: true
-
The Following User Says Thank You to olafk.de For This Useful Post:
-
11.01.2023, 22:29 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 7.848
- Blog Entries
- 5
Thanked 9.359 Times in 3.199 PostsAW: Traefik proxy - TLS handshake error
Hi,
an deinem Traefik-Log fehlt vieles, mit log.level TRACE müsste weit mehr rein geschrieben werden. Vor allem nachdem der Nginx-Container zum ersten Mal gestartet wird, generiert er sich eine neue Zertifikatsanfrage und lässt die per ACME von Let's Encrypt signieren. Hast du den Rest vom Log abgeschnitten? Schau mal dein komplettes Log durch oder Poste es hier. Das log.level scheint ja grundsätzlich zu greifen, wenn Debug-Einträge dort auftauchen. Interessant ist vor allem dem Traefik Log zu folgen, dann in einem zweiten Tab den Nginx Container zu starten. Dann müsste man recht ausführlich sehen, was er da versucht und wo es klemmt.
Übrigens: Für die docker-compose.yml von Traefik hast du eine Version angegeben. Das habe ich im Artikel bewusst nicht getan, da es schon länger veraltet ist. Bei Compose V1 brachte es ohne Swarm keinen Mehrwert (eher im Gegenteil), in V2 wird es ignoriert, da nicht Teil der Spezifikation. Sollte daher keine Probleme verursachen, zumindest sind mir keine bekannt. Würde ich dennoch entfernen, gerade wenn etwas nicht richtig funktioniert. Es gibt Konstellationen, in denen Dinge Probleme verursachen können, die es außerhalb davon nicht tun.
Das ist beides nicht gut. Traefik nutzt zwar noch einen privilegierten Container, dennoch sollte man von außen die Rechte besser nicht verändern. Sobald der sein Zertifikat bekommen hat, müsste er es zusammen mit dem privaten Schlüssel in die acme.json schreiben. Der Pfad ist für GNU/Linux auch komisch, ist das etwa ein Windows System mit VM, WSL, Docker für Windows oder so was? Falls ja, zusätzliche Fehlerquellen. Vor allem wenn die Maschine hinter einem NAT steht, wonach der Aufruf von einer lokalen IP 192.168.32.1 aussieht, sofern das kein komplexeres Servernetz ist. Falls das ein Reverse Proxy ist, kann das unter Umständen ebenfalls eine Fehlerquelle sein.
Die zwei Meldungen aus deinem Traefik-Log entstehen, weil er kein Zertifikat generieren konnte. Wenn Traefik dann auf kein bereits zuvor gespeichertes Zertifikat zurückgreifen kann, schaut er neuerdings noch nach einem Standardzertifikat für z.B: eine Top-Level Domain. Ist keines hinterlegt, liefert er sein selbst signiertes aus. Das akzeptieren Clients in der Regel nicht und brechen den Verbindungsversuch ab, sodass kein TLS-Handshake zustande kommt, wie er für eine HTTPS-Verbindung notwendig ist. Das sind also nicht der Fehler, sondern nur ein Folgefehler - die interessanten Dinge sind da schon längst passiert. Reproduzieren kann ich das auf einem Ubuntu 22 LTS-Server, der im Netz steht und auch entsprechend konfiguriert ist von außen erreichbar zu sein, nur in dem man schnell ist. Also Aufruf der Seite, bevor Traefik das Zertifikat geholt hat. Oder durch Überschreiten der Limits, das habe ich im Folgenden versucht und daher kommt der Handshake-Fehler 2x. Oder dauerhaft in dem man die LE Limits überschreitet wie in diesem Beispiel:
Code:001-traefik | time="2023-01-11T19:38:41Z" level=debug msg="Adding route for demo.u-labs.de with TLS options default" entryPointName=https 001-traefik | time="2023-01-11T19:38:41Z" level=debug msg="Trying to challenge certificate for domain [demo.u-labs.de] found in HostSNI rule" ACME CA="https://acme-v02.api.letsencrypt.org/directory" routerName=https-nginx@docker rule="Host(`demo.u-labs.de`)" providerName=le.acme 001-traefik | time="2023-01-11T19:38:41Z" level=debug msg="Looking for provided certificate(s) to validate [\"demo.u-labs.de\"]..." routerName=https-nginx@docker rule="Host(`demo.u-labs.de`)" providerName=le.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" 001-traefik | time="2023-01-11T19:38:41Z" level=debug msg="Domains [\"demo.u-labs.de\"] need ACME certificates generation for domains \"demo.u-labs.de\"." ACME CA="https://acme-v02.api.letsencrypt.org/directory" routerName=https-nginx@docker rule="Host(`demo.u-labs.de`)" providerName=le.acme 001-traefik | time="2023-01-11T19:38:41Z" level=debug msg="Loading ACME certificates [demo.u-labs.de]..." providerName=le.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" routerName=https-nginx@docker rule="Host(`demo.u-labs.de`)" 001-traefik | time="2023-01-11T19:38:41Z" level=debug msg="Serving default certificate for request: \"demo.u-labs.de\"" 001-traefik | time="2023-01-11T19:38:41Z" level=debug msg="http: TLS handshake error from 1.2.3.4:33258: remote error: tls: bad certificate" 001-traefik | time="2023-01-11T19:38:47Z" level=debug msg="Building ACME client..." providerName=le.acme 001-traefik | time="2023-01-11T19:38:47Z" level=debug msg="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme 001-traefik | time="2023-01-11T19:38:47Z" level=info msg=Register... providerName=le.acme 001-traefik | time="2023-01-11T19:38:47Z" level=debug msg="legolog: [INFO] acme: Registering account for daniel@u-labs.de" 001-traefik | time="2023-01-11T19:38:48Z" level=debug msg="Using TLS Challenge provider." providerName=le.acme 001-traefik | time="2023-01-11T19:38:48Z" level=debug msg="legolog: [INFO] [demo.u-labs.de] acme: Obtaining bundled SAN certificate" 001-traefik | time="2023-01-11T19:38:48Z" level=error msg="Unable to obtain ACME certificate for domains \"demo.u-labs.de\": unable to generate a certificate for the domains [demo.u-labs.de]: acme: error: 429 :: POST :: https://acme-v02.api.letsencrypt.org/acme/new-order :: urn:ietf:params:acme:error:rateLimited :: Error creating new order :: too many certificates (5) already issued for this exact set of domains in the last 168 hours: demo.u-labs.de, retry after 2023-01-13T03:57:09Z: see https://letsencrypt.org/docs/duplicate-certificate-limit/" ACME CA="https://acme-v02.api.letsencrypt.org/directory" routerName=https-nginx@docker rule="Host(`demo.u-labs.de`)" providerName=le.acme 001-traefik | time="2023-01-11T19:38:58Z" level=debug msg="Serving default certificate for request: \"demo.u-labs.de\"" 001-traefik | time="2023-01-11T19:38:58Z" level=debug msg="http: TLS handshake error from 1.2.3.4:55080: remote error: tls: bad certificate"
1. ein Heimserver (oder eine VM auf einem Desktop-PC) ist, der netzwerktechnisch nicht korrekt nach außen erreichbar ist (NAT, Firewall etc), sodass die ACME-Challenge nicht funktioniert
2. kein richtiger GNU/Linux Server ist sondern WSL, Docker für Windows oder etwas anderes halblebiges, was dort auf FS-Ebene komische Dinge tut
3. du ein LE-Limit überschritten hast und daher eine Sperre greift, evtl. auch als Folgefehler von #1 durch mehrere Tests
Bei #3 sollte in die acme.json allerdings zumindest ein privater Schlüssel geschrieben werden, d.H. die ist nicht 0 Byte groß. Daher vermute ich eher #1 oder #2, sofern sich aus den konkreteren Infos von dir nicht noch andere Fehlerquellen ergeben. Jedenfalls sieht es nach einem Problem außerhalb von Traefik aus. Der Artikel ist zwar für Traefik 2.6 geschrieben, mit den von dort kopierten Konfigurationsdateien funktioniert er auch mit der aktuellsten Version 2.9. Zumal diese hier auch produktiv auf mehreren Servern im Einsatz ist.
-
The Following User Says Thank You to DMW007 For This Useful Post:
DotNet (12.01.2023)
-
12.01.2023, 17:37 #3
- Registriert seit
- 19.11.2022
- Beiträge
- 5
Thanked 4 Times in 4 PostsAW: Traefik proxy - TLS handshake error
Hi!
Zunächst vielen Dank für Deine ausführliche Antwort. Hier die Infos zur Infrastruktur und nochmal die vollständigen Logs. Ich habe lediglich die Version aus der traefik.yml rausgenommen.
Zur Infrastruktur:
Der Server steht bei einem Hoster und dort "frei" im Internet. Ich habe da extra nochmal nachgefragt - sämtlicher Traffic für die URL/IP wird direkt ungefiltert zu dem Server geschickt.
Installiert ist Ubunut 22.04. (Bzgl. des Verzeichnisses letsancrypt hatte ich mich hier im Posting vertippt - sind natürlich Slashes und nicht Backslashes)
Logs nach dem Starten des Traefik-Containers:
Code:time="2023-01-12T15:08:07Z" level=info msg="Configuration loaded from flags." time="2023-01-12T15:08:07Z" level=info msg="Traefik version 2.9.1 built on 2022-10-03T14:22:13Z" time="2023-01-12T15:08:07Z" level=debug msg="Static configuration loaded {\"global\":{\"checkNewVersion\":true},\"serversTransport\":{\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"http\":{\"address\":\":80\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{\"redirections\":{\"entryPoint\":{\"to\":\"https\",\"scheme\":\"https\",\"permanent\":true,\"priority\":2147483646}}},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"https\":{\"address\":\":443\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{\"tls\":{\"certResolver\":\"le\"}},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}}},\"providers\":{\"providersThrottleDuration\":\"2s\",\"docker\":{\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"network\":\"proxy\",\"swarmModeRefreshSeconds\":\"15s\"}},\"log\":{\"level\":\"TRACE\",\"format\":\"common\"},\"certificatesResolvers\":{\"le\":{\"acme\":{\"email\":\"meine@email.de\",\"caServer\":\"https://acme-v02.api.letsencrypt.org/directory\",\"storage\":\"/letsencrypt/acme.json\",\"keyType\":\"RSA4096\",\"certificatesDuration\":2160,\"tlsChallenge\":{}}}}}" time="2023-01-12T15:08:07Z" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://doc.traefik.io/traefik/contributing/data-collection/\n" time="2023-01-12T15:08:07Z" level=info msg="Starting provider aggregator aggregator.ProviderAggregator" time="2023-01-12T15:08:07Z" level=debug msg="Starting TCP Server" entryPointName=http time="2023-01-12T15:08:07Z" level=debug msg="Starting TCP Server" entryPointName=https time="2023-01-12T15:08:07Z" level=info msg="Starting provider *traefik.Provider" time="2023-01-12T15:08:07Z" level=debug msg="*traefik.Provider provider configuration: {}" time="2023-01-12T15:08:07Z" level=info msg="Starting provider *docker.Provider" time="2023-01-12T15:08:07Z" level=debug msg="*docker.Provider provider configuration: {\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"network\":\"proxy\",\"swarmModeRefreshSeconds\":\"15s\"}" time="2023-01-12T15:08:07Z" level=info msg="Starting provider *acme.ChallengeTLSALPN" time="2023-01-12T15:08:07Z" level=debug msg="*acme.ChallengeTLSALPN provider configuration: {}" time="2023-01-12T15:08:07Z" level=info msg="Starting provider *acme.Provider" time="2023-01-12T15:08:07Z" level=debug msg="*acme.Provider provider configuration: {\"email\":\"meine@email.de\",\"caServer\":\"https://acme-v02.api.letsencrypt.org/directory\",\"storage\":\"/letsencrypt/acme.json\",\"keyType\":\"RSA4096\",\"certificatesDuration\":2160,\"tlsChallenge\":{},\"ResolverName\":\"le\",\"store\":{},\"TLSChallengeProvider\":{},\"HTTPChallengeProvider\":{}}" time="2023-01-12T15:08:07Z" level=debug msg="Attempt to renew certificates \"720h0m0s\" before expiry and check every \"24h0m0s\"" providerName=le.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" time="2023-01-12T15:08:07Z" level=info msg="Testing certificate renew..." providerName=le.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" time="2023-01-12T15:08:07Z" level=debug msg="Provider connection established with docker 20.10.12 (API 1.41)" providerName=docker time="2023-01-12T15:08:07Z" level=debug msg="Filtering disabled container" providerName=docker container=traefik-traefik-e76abfdac569ad4aae8a8ea539a33b2ed0b4d00396235095d316ab500bf50e50 time="2023-01-12T15:08:07Z" level=debug msg="No default certificate, fallback to the internal generated certificate" tlsStoreName=default time="2023-01-12T15:08:07Z" level=debug msg="Added outgoing tracing middleware noop@internal" routerName=http-to-https@internal middlewareName=tracing middlewareType=TracingForwarder entryPointName=http time="2023-01-12T15:08:07Z" level=debug msg="Creating middleware" routerName=http-to-https@internal middlewareName=redirect-http-to-https@internal middlewareType=RedirectScheme entryPointName=http time="2023-01-12T15:08:07Z" level=debug msg="Setting up redirection to https 443" middlewareType=RedirectScheme entryPointName=http routerName=http-to-https@internal middlewareName=redirect-http-to-https@internal time="2023-01-12T15:08:07Z" level=debug msg="Adding tracing to middleware" entryPointName=http routerName=http-to-https@internal middlewareName=redirect-http-to-https@internal time="2023-01-12T15:08:07Z" level=debug msg="Creating middleware" entryPointName=http middlewareName=traefik-internal-recovery middlewareType=Recovery time="2023-01-12T15:08:08Z" level=debug msg="No default certificate, fallback to the internal generated certificate" tlsStoreName=default time="2023-01-12T15:08:08Z" level=debug msg="Added outgoing tracing middleware noop@internal" entryPointName=http routerName=http-to-https@internal middlewareName=tracing middlewareType=TracingForwarder time="2023-01-12T15:08:08Z" level=debug msg="Creating middleware" entryPointName=http routerName=http-to-https@internal middlewareName=redirect-http-to-https@internal middlewareType=RedirectScheme time="2023-01-12T15:08:08Z" level=debug msg="Setting up redirection to https 443" entryPointName=http routerName=http-to-https@internal middlewareName=redirect-http-to-https@internal middlewareType=RedirectScheme time="2023-01-12T15:08:08Z" level=debug msg="Adding tracing to middleware" middlewareName=redirect-http-to-https@internal entryPointName=http routerName=http-to-https@internal time="2023-01-12T15:08:08Z" level=debug msg="Creating middleware" entryPointName=http middlewareName=traefik-internal-recovery middlewareType=Recovery
Logs nach dem Starten des nginx-Containers:
Code:time="2023-01-12T15:10:55Z" level=debug msg="Provider event received {Status:start ID:bf4f9a20ac0b435243857be55c91af2db8ba1861e63c25ca78ec3ab2048e9959 From:nginx:latest Type:container Action:start Actor:{ID:bf4f9a20ac0b435243857be55c91af2db8ba1861e63c25ca78ec3ab2048e9959 Attributes:map[com.docker.compose.config-hash:1dfd9576244fd8b1e8a17eda0f3f742a581a294b6d9a7ad90a95a05ec9286754 com.docker.compose.container-number:1 com.docker.compose.oneoff:False com.docker.compose.project:nginx-demo com.docker.compose.project.config_files:docker-compose.yml com.docker.compose.project.working_dir:/root/traefik/nginx-demo com.docker.compose.service:nginx com.docker.compose.version:1.29.2 image:nginx:latest maintainer:NGINX Docker Maintainers <docker-maint@nginx.com> name:002-nginx traefik.enable:true traefik.http.routers.nginx.rule:Host(`site1.myserver.de`)]} Scope:local Time:1673536255 TimeNano:1673536255486679988}" providerName=docker time="2023-01-12T15:10:55Z" level=debug msg="Filtering disabled container" container=traefik-traefik-e76abfdac569ad4aae8a8ea539a33b2ed0b4d00396235095d316ab500bf50e50 providerName=docker time="2023-01-12T15:10:55Z" level=debug msg="No entryPoint defined for this router, using the default one(s) instead: [http https]" routerName=nginx time="2023-01-12T15:10:56Z" level=debug msg="No default certificate, fallback to the internal generated certificate" tlsStoreName=default time="2023-01-12T15:10:56Z" level=debug msg="Creating middleware" entryPointName=http routerName=nginx@docker serviceName=nginx-nginx-demo middlewareType=Pipelining middlewareName=pipelining time="2023-01-12T15:10:56Z" level=debug msg="Creating load-balancer" serviceName=nginx-nginx-demo entryPointName=http routerName=nginx@docker time="2023-01-12T15:10:56Z" level=debug msg="Creating server 0 http://172.20.0.3:80" serviceName=nginx-nginx-demo entryPointName=http routerName=nginx@docker serverName=0 time="2023-01-12T15:10:56Z" level=debug msg="child http://172.20.0.3:80 now UP" time="2023-01-12T15:10:56Z" level=debug msg="Propagating new UP status" time="2023-01-12T15:10:56Z" level=debug msg="Added outgoing tracing middleware nginx-nginx-demo" entryPointName=http middlewareName=tracing middlewareType=TracingForwarder routerName=nginx@docker time="2023-01-12T15:10:56Z" level=debug msg="Added outgoing tracing middleware noop@internal" entryPointName=http routerName=http-to-https@internal middlewareName=tracing middlewareType=TracingForwarder time="2023-01-12T15:10:56Z" level=debug msg="Creating middleware" routerName=http-to-https@internal middlewareType=RedirectScheme middlewareName=redirect-http-to-https@internal entryPointName=http time="2023-01-12T15:10:56Z" level=debug msg="Setting up redirection to https 443" entryPointName=http routerName=http-to-https@internal middlewareType=RedirectScheme middlewareName=redirect-http-to-https@internal time="2023-01-12T15:10:56Z" level=debug msg="Adding tracing to middleware" entryPointName=http routerName=http-to-https@internal middlewareName=redirect-http-to-https@internal time="2023-01-12T15:10:56Z" level=debug msg="Creating middleware" middlewareType=Recovery entryPointName=http middlewareName=traefik-internal-recovery time="2023-01-12T15:10:56Z" level=debug msg="Creating middleware" serviceName=nginx-nginx-demo middlewareName=pipelining middlewareType=Pipelining entryPointName=https routerName=https-nginx@docker time="2023-01-12T15:10:56Z" level=debug msg="Creating load-balancer" entryPointName=https routerName=https-nginx@docker serviceName=nginx-nginx-demo time="2023-01-12T15:10:56Z" level=debug msg="Creating server 0 http://172.20.0.3:80" serviceName=nginx-nginx-demo serverName=0 entryPointName=https routerName=https-nginx@docker time="2023-01-12T15:10:56Z" level=debug msg="child http://172.20.0.3:80 now UP" time="2023-01-12T15:10:56Z" level=debug msg="Propagating new UP status" time="2023-01-12T15:10:56Z" level=debug msg="Added outgoing tracing middleware nginx-nginx-demo" entryPointName=https routerName=https-nginx@docker middlewareName=tracing middlewareType=TracingForwarder time="2023-01-12T15:10:56Z" level=debug msg="Creating middleware" middlewareType=Recovery entryPointName=https middlewareName=traefik-internal-recovery time="2023-01-12T15:10:56Z" level=debug msg="Adding route for site1.myserver.de with TLS options default" entryPointName=https time="2023-01-12T15:10:56Z" level=debug msg="Trying to challenge certificate for domain [site1.myserver.de] found in HostSNI rule" routerName=https-nginx@docker rule="Host(`site1.myserver.de`)" ACME CA="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme time="2023-01-12T15:10:56Z" level=debug msg="Looking for provided certificate(s) to validate [\"site1.myserver.de\"]..." routerName=https-nginx@docker rule="Host(`site1.myserver.de`)" ACME CA="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme time="2023-01-12T15:10:56Z" level=debug msg="Domains [\"site1.myserver.de\"] need ACME certificates generation for domains \"site1.myserver.de\"." ACME CA="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme routerName=https-nginx@docker rule="Host(`site1.myserver.de`)" time="2023-01-12T15:10:56Z" level=debug msg="Loading ACME certificates [site1.myserver.de]..." ACME CA="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme routerName=https-nginx@docker rule="Host(`site1.myserver.de`)" time="2023-01-12T15:11:00Z" level=debug msg="Building ACME client..." providerName=le.acme time="2023-01-12T15:11:00Z" level=debug msg="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme time="2023-01-12T15:11:00Z" level=error msg="Unable to obtain ACME certificate for domains \"site1.myserver.de\": cannot get ACME client get directory at 'https://acme-v02.api.letsencrypt.org/directory': Get \"https://acme-v02.api.letsencrypt.org/directory\": dial tcp: lookup acme-v02.api.letsencrypt.org on 127.0.0.11:53: read udp 127.0.0.1:35265->127.0.0.11:53: read: connection refused" ACME CA="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme routerName=https-nginx@docker rule="Host(`site1.myserver.de`)"
Code:time="2023-01-12T15:11:25Z" level=debug msg="Serving default certificate for request: \"site1.myserver.de\"" time="2023-01-12T15:11:25Z" level=debug msg="http: TLS handshake error from 172.20.0.1:34964: remote error: tls: bad certificate"
-
The Following User Says Thank You to olafk.de For This Useful Post:
DotNet (12.01.2023)
-
12.01.2023, 18:43 #4
- Registriert seit
- 15.11.2011
- Beiträge
- 7.848
- Blog Entries
- 5
Thanked 9.359 Times in 3.199 PostsAW: Traefik proxy - TLS handshake error
In dem Log sieht man, dass er kein Zertifikat für die Domain hat und daher eines anfordern möchte. Das läuft schief, weil er keine Verbindung zu den LetsEncrypt-Servern aufbauen kann:
Code:time="2023-01-12T15:11:00Z" level=error msg="Unable to obtain ACME certificate for domains \"site1.myserver.de\": cannot get ACME client get directory at 'https://acme-v02.api.letsencrypt.org/directory': Get \"https://acme-v02.api.letsencrypt.org/directory\": dial tcp: lookup acme-v02.api.letsencrypt.org on 127.0.0.11:53: read udp 127.0.0.1:35265->127.0.0.11:53: read: connection refused" ACME CA="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme routerName=https-nginx@docker rule="Host(`site1.myserver.de`)"
Ich würde mit dem Eingrenzen anfangen, was wo nicht geht. Rufe erst mal auf dem Server direkt die LE-URL aus dem Log mit z.B. curl oder wget auf. Da solltest du im Erfolgsfall ein JSON-Dokument mit den Adressen zu ihren API-Schnittstellen zurück bekommen:
Code:$ curl 'https://acme-v02.api.letsencrypt.org/directory' { "keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change", "meta": { "caaIdentities": [ "letsencrypt.org" ], "termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf", "website": "https://letsencrypt.org" }, "newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct", "newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce", "newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order", "revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert", "s86QE-xcnhQ": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417" }
Code:docker exec -it <containerName> sh / # apk add curl / # curl 'https://acme-v02.api.letsencrypt.org/directory' { "SaJBkug5abM": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417", "keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change", "meta": { "caaIdentities": [ "letsencrypt.org" ], "termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf", "website": "https://letsencrypt.org" }, "newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct", "newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce", "newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order", "revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert" }
-
The Following User Says Thank You to DMW007 For This Useful Post:
DotNet (12.01.2023)
-
12.01.2023, 19:18 #5
- Registriert seit
- 19.11.2022
- Beiträge
- 5
Thanked 4 Times in 4 PostsAW: Traefik proxy - TLS handshake error
Danke! Es scheint ein Netzwerk-Problem zu sein, denn aus dem Traefik-Container heraus kann ich die URL tatsächlich nicht aufrufen. Auch apk oder ein ping funktionieren nicht.
Ich forsche an der Stelle einmal weiter.
-
The Following User Says Thank You to olafk.de For This Useful Post:
DMW007 (12.01.2023)
Ähnliche Themen
-
Ubuntu Traefik 404 not found
Von BuddiHagge im Forum LinuxAntworten: 6Letzter Beitrag: 20.10.2022, 22:48 -
Tor als Socks Proxy Handshake Fetching socks handshake failed
Von !lkay im Forum .NetAntworten: 1Letzter Beitrag: 21.04.2013, 15:59 -
[OUTPUT] t - Handshake
Von 3lit im Forum Knuddels ProgrammierungAntworten: 7Letzter Beitrag: 29.10.2011, 13:22
Stichworte
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.