Reload fails: "tsnet: listener already open for tailscale, :80"
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- go
- Ambito
- backend, networking
Direzione di ricerca
Inizia riproducendo il comando ExecReload di systemd con il Caddyfile fornito, quindi traccia il punto di ingresso admin /load di Caddy e il ciclo di vita del listener Tailscale. Confronta il comportamento del reload con un riavvio completo del servizio; il lavoro è completato quando il ricaricamento della configurazione riesce senza l’errore esistente del listener tailscale/nitter:80 né timeout.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The usual systemd unit for caddy includes an ExecReload= option:
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile --force
When this is run on a caddy service that already connected to Tailscale, we get this error: loading config: loading new config: http app module: start: listening on tailscale/nitter:80: tsnet: listener already open for tailscale, :80
Dec 26 21:10:05 hydrangea systemd[1]: Reloading Caddy.
Dec 26 21:10:05 hydrangea caddy[2407]: {"level":"info","ts":1672089005.6320755,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
Dec 26 21:10:05 hydrangea caddy[2031]: {"level":"info","ts":1672089005.6348317,"logger":"admin.api","msg":"received request","method":"POST","host":"localhost:2019","uri":"/load","remote_ip":"127.0.0.1","remote_port":"40046","headers":{"Accept-Encoding":["gzip"],"Content-Length":["203"],"Content-Type":["application/json"],"Origin":["http://localhost:2019"],"User-Agent":["Go-http-client/1.1"]}}
Dec 26 21:10:05 hydrangea caddy[2031]: {"level":"info","ts":1672089005.6360798,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
Dec 26 21:10:05 hydrangea caddy[2031]: {"level":"warn","ts":1672089005.6363716,"logger":"http","msg":"server is listening only on the HTTP port, so no automatic HTTPS will be applied to this server","server_name":"srv0","http_port":80}
Dec 26 21:10:05 hydrangea caddy[2031]: {"level":"info","ts":1672089005.636495,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc000354a10"}
Dec 26 21:10:05 hydrangea caddy[2031]: {"level":"info","ts":1672089005.63655,"logger":"tls.cache.maintenance","msg":"stopped background certificate maintenance","cache":"0xc000354a10"}
Dec 26 21:10:05 hydrangea caddy[2031]: {"level":"error","ts":1672089005.6366794,"logger":"admin.api","msg":"request error","error":"loading config: loading new config: http app module: start: listening on tailscale/nitter:80: tsnet: listener already open for tailscale, :80","status_code":400}
Dec 26 21:10:05 hydrangea caddy[2407]: Error: sending configuration to instance: caddy responded with error: HTTP 400: {"error":"loading config: loading new config: http app module: start: listening on tailscale/nitter:80: tsnet: listener already open for tailscale, :80"}
Dec 26 21:10:05 hydrangea caddy[2031]: {"level":"info","ts":1672089005.6377842,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
Dec 26 21:10:05 hydrangea systemd[1]: caddy.service: Control process exited, code=exited, status=1/FAILURE
Dec 26 21:11:35 hydrangea systemd[1]: caddy.service: Reload operation timed out. Killing reload process.
Restarting the service works fine, as expected.
Full Caddyfile (most of this is boilerplate from my usual template):
{
admin localhost:2019
email [email protected]
}
(global) {
encode zstd gzip
handle_errors {
respond "{http.error.status_code} {http.error.status_text}"
}
header cache-control "public, max-age=0, must-revalidate"
log {
output file /var/log/caddy/access.log
}
}
:80 {
bind tailscale/nitter
respond / "butts"
}
- Lingua principale
- Go
- Stelle
- 994
- Fork
- 101
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di tailscale/caddy-tailscale
-
tailscale_auth leaks LocalAPI connections on every config reload, even with #140 or #146Forse già presa @anuragbanerjee l’ha presa 13 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
tailscale/caddy-tailscale#147 ·
-
Bug: Plugin crashes with read-only file system when using non-filesystem state_dir (e.g., `kube:`)Forse già presa @wgordon17 l’ha presa 50 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 70/100
tailscale/caddy-tailscale#145 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
tailscale/caddy-tailscale#143 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 45/100
tailscale/caddy-tailscale#133 · 2 commenti · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
tailscale/caddy-tailscale#124 ·
Tutte le issue di tailscale/caddy-tailscale
Issue simili
-
area: interop area: sip-core v3
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
fonoster/routr#705 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
deadfin-org/deadfin#35 ·
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
-
enhancement priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
labmonkeys-space/nl6#1037 ·
I maintainer di solito rispondono entro 1 giorno
-
Setup Guide Go tab: say it needs Go 1.26 (the unversioned go get pulls OpenTelemetry Go v1.47.0)Apertaenhancement follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 1 giorno