1. The problem I’m having:
I have set up two Caddy instances. Caddy A and Caddy B. Caddy A reverse proxies to Caddy B, and B simply responds with “hello!”. I have come up to a very strange behavior where when I curl -v caddy-a
it will only sometimes get the response from Caddy B. Could this be a curl issue, I don’t seem to have any issues accessing the :8080 one through the browser?
2. Error messages and/or full log output:
The following log is the run of a couple consecutive curl -vL https://localhost:8080
commands. As you see we sometimes get the response and sometimes not. I really can’t find a specific pattern. In the following logs, only the last one showed the expected “hello!” response.
~
❯ curl -vL https://localhost:8080
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8080...
* Connected to localhost (::1) port 8080
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / x25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
* subject: [NONE]
* start date: Jul 9 08:24:31 2024 GMT
* expire date: Jul 9 20:24:31 2024 GMT
* subjectAltName: host "localhost" matched cert's "localhost"
* issuer: CN=Caddy Local Authority - ECC Intermediate
* SSL certificate verify ok.
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 1: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 2: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://localhost:8080/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: localhost:8080]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.8.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: localhost:8080
> User-Agent: curl/8.8.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 502
< alt-svc: h3=":8080"; ma=2592000
< server: Caddy
< content-length: 0
< date: Tue, 09 Jul 2024 11:30:47 GMT
<
* Connection #0 to host localhost left intact
~
✦ ❯ curl -vL https://localhost:8080
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8080...
* Connected to localhost (::1) port 8080
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / x25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
* subject: [NONE]
* start date: Jul 9 08:24:31 2024 GMT
* expire date: Jul 9 20:24:31 2024 GMT
* subjectAltName: host "localhost" matched cert's "localhost"
* issuer: CN=Caddy Local Authority - ECC Intermediate
* SSL certificate verify ok.
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 1: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 2: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://localhost:8080/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: localhost:8080]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.8.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: localhost:8080
> User-Agent: curl/8.8.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 502
< alt-svc: h3=":8080"; ma=2592000
< server: Caddy
< content-length: 0
< date: Tue, 09 Jul 2024 11:30:50 GMT
<
* Connection #0 to host localhost left intact
~
✦ ❯ curl -vL https://localhost:8080
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8080...
* Connected to localhost (::1) port 8080
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / x25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
* subject: [NONE]
* start date: Jul 9 08:24:31 2024 GMT
* expire date: Jul 9 20:24:31 2024 GMT
* subjectAltName: host "localhost" matched cert's "localhost"
* issuer: CN=Caddy Local Authority - ECC Intermediate
* SSL certificate verify ok.
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 1: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 2: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://localhost:8080/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: localhost:8080]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.8.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: localhost:8080
> User-Agent: curl/8.8.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 200
< alt-svc: h3=":8080"; ma=2592000
< content-type: text/plain; charset=utf-8
< date: Tue, 09 Jul 2024 11:30:52 GMT
< server: Caddy
< server: Caddy
< content-length: 6
<
* Connection #0 to host localhost left intact
~
❯ curl -vL https://localhost:8080
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8080...
* Connected to localhost (::1) port 8080
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / x25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
* subject: [NONE]
* start date: Jul 9 08:24:31 2024 GMT
* expire date: Jul 9 20:24:31 2024 GMT
* subjectAltName: host "localhost" matched cert's "localhost"
* issuer: CN=Caddy Local Authority - ECC Intermediate
* SSL certificate verify ok.
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 1: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 2: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://localhost:8080/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: localhost:8080]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.8.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: localhost:8080
> User-Agent: curl/8.8.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 502
< alt-svc: h3=":8080"; ma=2592000
< server: Caddy
< content-length: 0
< date: Tue, 09 Jul 2024 11:30:57 GMT
<
* Connection #0 to host localhost left intact
~
✦ ❯ curl -vL https://localhost:8080
* Host localhost:8080 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
* Trying [::1]:8080...
* Connected to localhost (::1) port 8080
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: none
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256 / x25519 / id-ecPublicKey
* ALPN: server accepted h2
* Server certificate:
* subject: [NONE]
* start date: Jul 9 08:24:31 2024 GMT
* expire date: Jul 9 20:24:31 2024 GMT
* subjectAltName: host "localhost" matched cert's "localhost"
* issuer: CN=Caddy Local Authority - ECC Intermediate
* SSL certificate verify ok.
* Certificate level 0: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 1: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* Certificate level 2: Public key type EC/prime256v1 (256/128 Bits/secBits), signed using ecdsa-with-SHA256
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* using HTTP/2
* [HTTP/2] [1] OPENED stream for https://localhost:8080/
* [HTTP/2] [1] [:method: GET]
* [HTTP/2] [1] [:scheme: https]
* [HTTP/2] [1] [:authority: localhost:8080]
* [HTTP/2] [1] [:path: /]
* [HTTP/2] [1] [user-agent: curl/8.8.0]
* [HTTP/2] [1] [accept: */*]
> GET / HTTP/2
> Host: localhost:8080
> User-Agent: curl/8.8.0
> Accept: */*
>
* Request completely sent off
< HTTP/2 200
< alt-svc: h3=":8080"; ma=2592000
< content-type: text/plain; charset=utf-8
< date: Tue, 09 Jul 2024 11:30:58 GMT
< server: Caddy
< server: Caddy
< content-length: 6
<
* Connection #0 to host localhost left intact
hello!⏎
From Caddy A (the front facing one) I don’t get any DEBUG Logs, when there is no response in the reply, but if we have the “hello!” reply these are usually the logs:
Caddy A debug logs
❯ sudo caddy run --config Caddyfile
2024/07/09 11:30:27.235 INFO using provided configuration {"config_file": "Caddyfile", "config_adapter": ""}
2024/07/09 11:30:27.238 INFO admin admin endpoint started {"address": "localhost:2019", "enforce_origin": false, "origins": ["//localhost:2019", "//[::1]:2019", "//127.0.0.1:2019"]}
2024/07/09 11:30:27.238 INFO http.auto_https enabling automatic HTTP->HTTPS redirects {"server_name": "srv0"}
2024/07/09 11:30:27.238 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0xc00004dd00"}
2024/07/09 11:30:27.240 DEBUG http.auto_https adjusted config {"tls": {"automation":{"policies":[{"subjects":["localhost"]},{}]}}, "http": {"servers":{"remaining_auto_https_redirects":{"listen":[":80"],"routes":[{},{}]},"srv0":{"listen":[":8080"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"handler":"reverse_proxy","upstreams":[{"dial":"localhost:8000"}]}]}]}]}]}],"terminal":true}],"tls_connection_policies":[{}],"automatic_https":{}}}}}
2024/07/09 11:30:27.243 WARN tls storage cleaning happened too recently; skipping for now {"storage": "FileStorage:/root/.local/share/caddy", "instance": "ecd77583-7859-44f5-bf0b-baf6fe1d24c0", "try_again": "2024/07/10 11:30:27.243", "try_again_in": 86399.999999047}
2024/07/09 11:30:27.243 INFO tls finished cleaning storage units
2024/07/09 11:30:27.255 INFO pki.ca.local root certificate is already trusted by system {"path": "storage:pki/authorities/local/root.crt"}
2024/07/09 11:30:27.255 DEBUG http starting server loop {"address": "[::]:80", "tls": false, "http3": false}
2024/07/09 11:30:27.255 INFO http.log server running {"name": "remaining_auto_https_redirects", "protocols": ["h1", "h2", "h3"]}
2024/07/09 11:30:27.255 INFO http enabling HTTP/3 listener {"addr": ":8080"}
2024/07/09 11:30:27.255 DEBUG http starting server loop {"address": "[::]:8080", "tls": true, "http3": true}
2024/07/09 11:30:27.255 INFO http.log server running {"name": "srv0", "protocols": ["h1", "h2", "h3"]}
2024/07/09 11:30:27.255 INFO http enabling automatic TLS certificate management {"domains": ["localhost"]}
2024/07/09 11:30:27.256 WARN tls stapling OCSP {"error": "no OCSP stapling for [localhost]: no OCSP server specified in certificate", "identifiers": ["localhost"]}
2024/07/09 11:30:27.256 DEBUG tls.cache added certificate to cache {"subjects": ["localhost"], "expiration": "2024/07/09 20:24:32.000", "managed": true, "issuer_key": "local", "hash": "2d27a7880841414b49bd73939bb6aadd0392bd6ce77a9a50393b04cfcd08a944", "cache_size": 1, "cache_capacity": 10000}
2024/07/09 11:30:27.256 DEBUG events event {"name": "cached_managed_cert", "id": "8080d32d-6819-43ee-8369-7569e94c6793", "origin": "tls", "data": {"sans":["localhost"]}}
2024/07/09 11:30:27.256 INFO autosaved config (load with --resume flag) {"file": "/root/.local/share/caddy/autosave.json"}
2024/07/09 11:30:27.256 INFO serving initial configuration
2024/07/09 11:30:52.075 DEBUG events event {"name": "tls_get_certificate", "id": "9c84a548-329d-4f29-b4b7-7ef6a4aa6fd5", "origin": "tls", "data": {"client_hello":{"CipherSuites":[4866,4867,4865,49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,157,156,61,60,53,47,255],"ServerName":"localhost","SupportedCurves":[29,23,30,25,24,256,257,258,259,260],"SupportedPoints":"AAEC","SignatureSchemes":[1027,1283,1539,2055,2056,2074,2075,2076,2057,2058,2059,2052,2053,2054,1025,1281,1537,771,769,770,1026,1282,1538],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"::1","Port":39514,"Zone":""},"LocalAddr":{"IP":"::1","Port":8080,"Zone":""}}}}
2024/07/09 11:30:52.075 DEBUG tls.handshake choosing certificate {"identifier": "localhost", "num_choices": 1}
2024/07/09 11:30:52.075 DEBUG tls.handshake default certificate selection results {"identifier": "localhost", "subjects": ["localhost"], "managed": true, "issuer_key": "local", "hash": "2d27a7880841414b49bd73939bb6aadd0392bd6ce77a9a50393b04cfcd08a944"}
2024/07/09 11:30:52.075 DEBUG tls.handshake matched certificate in cache {"remote_ip": "::1", "remote_port": "39514", "subjects": ["localhost"], "managed": true, "expiration": "2024/07/09 20:24:32.000", "hash": "2d27a7880841414b49bd73939bb6aadd0392bd6ce77a9a50393b04cfcd08a944"}
2024/07/09 11:30:52.085 DEBUG http.handlers.reverse_proxy selected upstream {"dial": "localhost:8000", "total_upstreams": 1}
2024/07/09 11:30:52.087 DEBUG http.handlers.reverse_proxy upstream roundtrip {"upstream": "localhost:8000", "duration": 0.001510775, "request": {"remote_ip": "::1", "remote_port": "39514", "client_ip": "::1", "proto": "HTTP/2.0", "method": "GET", "host": "localhost:8080", "uri": "/", "headers": {"X-Forwarded-For": ["::1"], "X-Forwarded-Proto": ["https"], "X-Forwarded-Host": ["localhost:8080"], "User-Agent": ["curl/8.8.0"], "Accept": ["*/*"]}, "tls": {"resumed": false, "version": 772, "cipher_suite": 4865, "proto": "h2", "server_name": "localhost"}}, "headers": {"Content-Type": ["text/plain; charset=utf-8"], "Server": ["Caddy"], "Date": ["Tue, 09 Jul 2024 11:30:52 GMT"], "Content-Length": ["6"]}, "status": 200}
2024/07/09 11:30:58.823 DEBUG events event {"name": "tls_get_certificate", "id": "c23552fd-6867-458d-aec8-25fde18b00b9", "origin": "tls", "data": {"client_hello":{"CipherSuites":[4866,4867,4865,49196,49200,159,52393,52392,52394,49195,49199,158,49188,49192,107,49187,49191,103,49162,49172,57,49161,49171,51,157,156,61,60,53,47,255],"ServerName":"localhost","SupportedCurves":[29,23,30,25,24,256,257,258,259,260],"SupportedPoints":"AAEC","SignatureSchemes":[1027,1283,1539,2055,2056,2074,2075,2076,2057,2058,2059,2052,2053,2054,1025,1281,1537,771,769,770,1026,1282,1538],"SupportedProtos":["h2","http/1.1"],"SupportedVersions":[772,771],"RemoteAddr":{"IP":"::1","Port":54824,"Zone":""},"LocalAddr":{"IP":"::1","Port":8080,"Zone":""}}}}
2024/07/09 11:30:58.824 DEBUG tls.handshake choosing certificate {"identifier": "localhost", "num_choices": 1}
2024/07/09 11:30:58.824 DEBUG tls.handshake default certificate selection results {"identifier": "localhost", "subjects": ["localhost"], "managed": true, "issuer_key": "local", "hash": "2d27a7880841414b49bd73939bb6aadd0392bd6ce77a9a50393b04cfcd08a944"}
2024/07/09 11:30:58.824 DEBUG tls.handshake matched certificate in cache {"remote_ip": "::1", "remote_port": "54824", "subjects": ["localhost"], "managed": true, "expiration": "2024/07/09 20:24:32.000", "hash": "2d27a7880841414b49bd73939bb6aadd0392bd6ce77a9a50393b04cfcd08a944"}
2024/07/09 11:30:58.830 DEBUG http.handlers.reverse_proxy selected upstream {"dial": "localhost:8000", "total_upstreams": 1}
2024/07/09 11:30:58.831 DEBUG http.handlers.reverse_proxy upstream roundtrip {"upstream": "localhost:8000", "duration": 0.001059749, "request": {"remote_ip": "::1", "remote_port": "54824", "client_ip": "::1", "proto": "HTTP/2.0", "method": "GET", "host": "localhost:8080", "uri": "/", "headers": {"X-Forwarded-Proto": ["https"], "X-Forwarded-Host": ["localhost:8080"], "User-Agent": ["curl/8.8.0"], "Accept": ["*/*"], "X-Forwarded-For": ["::1"]}, "tls": {"resumed": false, "version": 772, "cipher_suite": 4865, "proto": "h2", "server_name": "localhost"}}, "headers": {"Date": ["Tue, 09 Jul 2024 11:30:58 GMT"], "Content-Length": ["6"], "Content-Type": ["text/plain; charset=utf-8"], "Server": ["Caddy"]}, "status": 200}
Caddy B debug logs
❯ sudo caddy run --config Caddyfile
2024/07/09 11:45:01.644 INFO using provided configuration {"config_file": "Caddyfile", "config_adapter": ""}
2024/07/09 11:45:01.645 INFO admin admin endpoint started {"address": ":2020", "enforce_origin": false, "origins": ["//:2020"]}
2024/07/09 11:45:01.645 WARN admin admin endpoint on open interface; host checking disabled {"address": ":2020"}
2024/07/09 11:45:01.645 DEBUG http.auto_https adjusted config {"tls": {"automation":{"policies":[{}]}}, "http": {"servers":{"srv0":{"listen":[":8000"],"routes":[{"handle":[{"handler":"subroute","routes":[{"handle":[{"body":"hello!","handler":"static_response"}]}]}],"terminal":true}],"automatic_https":{"skip":["localhost"]},"trusted_proxies":{"ranges":["192.168.0.0/16","172.16.0.0/12","10.0.0.0/8","127.0.0.1/8","fd00::/8","::1"],"source":"static"}}}}}
2024/07/09 11:45:01.645 INFO tls.cache.maintenance started background certificate maintenance {"cache": "0xc0001a5200"}
2024/07/09 11:45:01.645 DEBUG http starting server loop {"address": "[::]:8000", "tls": false, "http3": false}
2024/07/09 11:45:01.645 INFO http.log server running {"name": "srv0", "protocols": ["h1", "h2", "h3"]}
2024/07/09 11:45:01.645 INFO autosaved config (load with --resume flag) {"file": "/root/.local/share/caddy/autosave.json"}
2024/07/09 11:45:01.645 INFO serving initial configuration
2024/07/09 11:45:01.648 WARN tls storage cleaning happened too recently; skipping for now {"storage": "FileStorage:/root/.local/share/caddy", "instance": "ecd77583-7859-44f5-bf0b-baf6fe1d24c0", "try_again": "2024/07/10 11:45:01.648", "try_again_in": 86399.999999251}
2024/07/09 11:45:01.648 INFO tls finished cleaning storage units
3. Caddy version:
Logs in this post are from 2.7.6
, although 2.8.4
produces the same for me
4. How I installed and ran Caddy:
From the AUR
a. System environment:
OS: EndeavourOS Linux on Windows (under WSL2)
b. Command:
Caddy A
> caddy run --config Caddyfile
Caddy B
> caddy run --config Caddyfile
Of course, these are run in separate directories.
c. Service/unit/compose file:
d. My complete Caddy config:
Caddyfile A
{
debug
}
localhost:8080 {
route {
reverse_proxy {
to localhost:8000
}
}
}
Caddyfile B
{
admin :2020
debug
servers {
trusted_proxies static private_ranges
}
}
http://localhost:8000 {
respond "hello!"
}