I have been trying to debug Caddy for some time now without any luck. My requests are coming from Cloudflare and I see the requests coming into my container, but I have not been any to successfully connect to any of my services through Caddy. Any help would be greatly appreciated.
# /srv/docker-compose/services.yml
---
version: "3.4"
services:
caddy:
build:
context: .
dockerfile: /srv/docker-compose/Dockerfile.caddy
container_name: caddy
restart: always
ports:
- 80:80
- 443:443
- 2019:2019
volumes:
- /srv/caddy/config:/config
- /srv/caddy/data:/data
- /srv/caddy/Caddyfile:/etc/caddy/Caddyfile
environment:
- CLOUDFLARE_API_TOKEN=token
- [email protected]
- MY_DOMAIN=example.xyz
- CADDY_BASIC_AUTH_USERNAME=username
- CADDY_BASIC_AUTH_PASSWORD=password
karaoke-forever:
image: david510c/karaoke-forever
container_name: karaoke-forever
volumes:
- /mnt/data/karaoke:/cdgfiles
ports:
- 56701:80
networks:
default:
external:
name: caddy_net
FROM caddy:2-builder AS builder
RUN caddy-builder \
github.com/caddy-dns/cloudflare
FROM caddy:2
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
sing.example.xyz {
reverse_proxy karaoke-forever:56701
tls {
dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}
}
caddy | {"level":"info","ts":1601677707.2191145,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
caddy | {"level":"info","ts":1601677707.2207422,"logger":"admin","msg":"admin endpoint started","address":"tcp/localhost:2019","enforce_origin":false,"origins":["localhost:2019","[::1]:2019","127.0.0.1:2019"]}
caddy | 2020/10/02 22:28:27 [INFO][cache:0xc0006a27e0] Started certificate maintenance routine
caddy | {"level":"info","ts":1601677707.2209167,"logger":"http","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
caddy | {"level":"info","ts":1601677707.2209299,"logger":"http","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
caddy | {"level":"info","ts":1601677707.222789,"logger":"tls","msg":"cleaned up storage units"}
caddy | {"level":"debug","ts":1601677707.2228253,"logger":"http","msg":"starting server loop","address":"[::]:443","http3":false,"tls":true}
caddy | {"level":"debug","ts":1601677707.2228403,"logger":"http","msg":"starting server loop","address":"[::]:80","http3":false,"tls":false}
caddy | {"level":"info","ts":1601677707.2228448,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["tunes.example.xyz","vault.example.xyz","flix.example.xyz","sing.example.xyz","git.example.xyz","recipes.example.xyz","cloud.example.xyz"]}
caddy | {"level":"info","ts":1601677707.2303352,"msg":"autosaved config","file":"/config/caddy/autosave.json"}
caddy | {"level":"info","ts":1601677707.2303436,"msg":"serving initial configuration"}
caddy | {"level":"debug","ts":1601677732.3537588,"logger":"http.handlers.reverse_proxy","msg":"upstream roundtrip","upstream":"karaoke-forever:56701","request":{"method":"GET","uri":"/","proto":"HTTP/2.0","remote_addr":"162.245.206.242:59094","host":"sing.example.xyz","headers":{"User-Agent":["Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Mobile/15E148 Safari/604.1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"],"Accept-Language":["en-us"],"Accept-Encoding":["gzip, deflate, br"],"X-Forwarded-For":["162.245.206.242"],"X-Forwarded-Proto":["https"]},"tls":{"resumed":false,"version":772,"ciphersuite":4865,"proto":"h2","proto_mutual":true,"server_name":"sing.example.xyz"}},"duration":0.00144153,"error":"dial tcp 172.18.0.10:56701: connect: connection refused"}
caddy | {"level":"error","ts":1601677732.353876,"logger":"http.log.error","msg":"dial tcp 172.18.0.10:56701: connect: connection refused","request":{"method":"GET","uri":"/","proto":"HTTP/2.0","remote_addr":"162.245.206.242:59094","host":"sing.example.xyz","headers":{"Accept-Encoding":["gzip, deflate, br"],"User-Agent":["Mozilla/5.0 (iPhone; CPU iPhone OS 13_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Mobile/15E148 Safari/604.1"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"],"Accept-Language":["en-us"]},"tls":{"resumed":false,"version":772,"ciphersuite":4865,"proto":"h2","proto_mutual":true,"server_name":"sing.example.xyz"}},"duration":0.001703033,"status":502,"err_id":"7wf365cn9","err_trace":"reverseproxy.(*Handler).ServeHTTP (reverseproxy.go:411)"}
$ docker exec -it caddy /bin/sh
/srv # ping 172.18.0.10:56701
PING 172.18.0.10:56701 (172.18.0.10): 56 data bytes
64 bytes from 172.18.0.10: seq=0 ttl=64 time=0.290 ms
64 bytes from 172.18.0.10: seq=1 ttl=64 time=0.133 ms
64 bytes from 172.18.0.10: seq=2 ttl=64 time=0.122 ms
64 bytes from 172.18.0.10: seq=3 ttl=64 time=0.131 ms
64 bytes from 172.18.0.10: seq=4 ttl=64 time=0.130 ms
64 bytes from 172.18.0.10: seq=5 ttl=64 time=0.130 ms
64 bytes from 172.18.0.10: seq=6 ttl=64 time=0.121 ms
^C
--- 172.18.0.10:56701 ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max = 0.121/0.151/0.290 ms