-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Closed
Milestone
Description
It appears that the tailscale cert manager is only used when a ts.net domain is explicitly configured for a site:
samson.tailb575b.ts.net:443 {
respond OK
}
This works fine, and shows debug output of:
2024/05/19 01:44:25.371 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "samson.tailb575b.ts.net"}
2024/05/19 01:44:25.371 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.tailb575b.ts.net"}
2024/05/19 01:44:25.372 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.*.ts.net"}
2024/05/19 01:44:25.372 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.*.*.net"}
2024/05/19 01:44:25.372 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.*.*.*"}
2024/05/19 01:44:38.957 DEBUG tls.handshake using externally-managed certificate {"remote_ip": "100.120.137.94", "remote_port": "53195", "sni": "samson.tailb575b.ts.net", "names": ["samson.tailb575b.ts.net"], "expiration": "2024/08/17 00:44:38.000"}
However, when configured as:
:443 {
respond OK
}
I get debug logs:
2024/05/19 01:48:42.921 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "samson.tailb575b.ts.net"}
2024/05/19 01:48:42.921 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.tailb575b.ts.net"}
2024/05/19 01:48:42.921 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.*.ts.net"}
2024/05/19 01:48:42.921 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.*.*.net"}
2024/05/19 01:48:42.921 DEBUG tls.handshake no matching certificates and no custom selection logic {"identifier": "*.*.*.*"}
2024/05/19 01:48:42.921 DEBUG tls.handshake no certificate matching TLS ClientHello {"remote_ip": "100.120.137.94", "remote_port": "53237", "server_name": "samson.tailb575b.ts.net", "remote": "100.120.137.94:53237", "identifier": "samson.tailb575b.ts.net", "cipher_suites": [4867, 4866, 4865, 52393, 52392, 52394, 49200, 49196, 49192, 49188, 49172, 49162, 159, 107, 57, 65413, 196, 136, 129, 157, 61, 53, 192, 132, 49199, 49195, 49191, 49187, 49171, 49161, 158, 103, 51, 190, 69, 156, 60, 47, 186, 65, 49169, 49159, 5, 4, 49170, 49160, 22, 10, 255], "cert_cache_fill": 0, "load_or_obtain_if_necessary": true, "on_demand": false}
2024/05/19 01:48:42.922 DEBUG http.stdlib http: TLS handshake error from 100.120.137.94:53237: no certificate available for 'samson.tailb575b.ts.net'
Since caddy is already treating ts.net domains special when setting up cert managers, I'm wondering if it could do the same in the fallback handler (or maybe I've got some terminology wrong here?). I'm already looking into this myself, but wanted to open the issue in case there was a reason it behaves this way, or if you have any pointers on where to hook in.
Metadata
Metadata
Assignees
Labels
No labels