-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TLS doesn't work: no viable challenge type found #26
Comments
Having the same issue with a Cloudflare DNS. It was working previously with Traefik though. Edited: the solution was to temporarily disable Proxy mode for the domain in Cloudflare. |
The I think we can work around this, though, just by allowing the |
I think making Kamal Proxy set a default CA for the Cloudflare case may resolve the issue. We can use Origin CA generated by Cloudflare so that the proxy can connect to Kamal Proxy correctly. I disabled the proxy to make the ACME challenge pass and enabled it again for now. I find the flexible mode does not work because Kamal Proxy didn't set any default CA that HTTPS is always returns an error until the ACME challenge is passed. |
@elct9620 when #17 lands you'll have the ability to use the Cloudflare origin certs by explicitly adding them to the proxy. That is one way to get Cloudflare proxying to work in "Full (strict)" mode, although it will require adding those certs yourself. I don't want to add any Cloudflare-specific defaults, but you'll be able to set that up yourself if you want. But with |
Got this working in a branch now and it seems like the right solution. Should have something merged for this soon. |
DuckDNS only provides DNS records, it's not involved in routing requests here. And port 443 is open. I'm not using any other software - it's plain Ubuntu 24.04 server with Kamal. Not using Cloudflare or any other proxy in front of the server. I'm also not using GCP load balancer - it's a single compute instance |
I ran into this issue upgrading a Rails 7.2 app to Kamal 2.0. I typically run cloudflare security on "Full." But only after getting the initial Kamal deploy running (and seeing the Traefik self-signed cert warning) while it's running as "off" in the cloudflare dashboard. Edit: The temporary fix would be to not proxy the domain in cloudflare DNS and point directly to your host IP |
The Cloudflare issue is not related: I'm not using Cloudflare. Can somebody confirm TLS-ALPN-01 challenge works at all with Kamal-proxy ? |
According to the
Kamal Proxy also enables the ALPN protocol kamal-proxy/internal/server/server.go Lines 97 to 104 in 059bead
|
@elct9620 |
I don't know if this discussion on Caddy is the same issue. The Let's Encrypt website says Caddy supports For Cloudflare Proxy, the "Let's Debug" tool is mentioned in the discussion. It explain the reason Kamal Proxy cannot run with it.
I think the |
Yeah the "Let's Debug" tool gives me failures also.. Could be too picky Let's Encrypt behavior or misbehaving DNS of DuckDNS. Anyway I'll also wait for the HTTP-01 challenge implementation - I don't care which one to use as long as it works in the end |
Anyway, I make a PR #29 to let HTTP-01 challenge available. |
I've added support for Cloudflare's proxied connections now work out-of-the-box. Set your SSL mode to something like "Full (strict)", and it should set itself up automatically. Also, just circling back to this part of the issue:
@a3kov It does work, yes. Prior to that last commit, this is the only challenge type we were using. Could you check that the IP DuckDNS is returning for your instance is definitely the public IP of your server, and that you can connect to it from outside your network? |
@kevinmcconnell Thanks for the confirmation. The A record of the domain works - that's how I trigger the TLS challenge verification. Judging from the "Let's Debug" tool behavior TLS-ALPN-01 needs more than A/AAAA records - it complains something about SOA for the zone. Maybe it needs complete ownership of the zone ? No idea.. |
"Let's Debug" gave me DNS failures even with http-01 challenge, so I gave up on DuckDNS. Probably some years ago it worked with LetsEncrypt - I can only find old reports. But now it looks like they've tightened the requirements w.r.t. DNS. I've switched to a proper domain (if anybody is interested, nic.us.kg gives you a free 3rd level domain you actually own) |
@a3kov thanks, it does seem like that's a separate issue with DuckDNS then. I'll look into that a bit later (I'm not sure it's really a Kamal Proxy issue after all, but I'm curious to see where it fails). Thanks for reporting it. In the meantime, I believe the |
I was also getting the |
I'm hosting an app on GCP using a free domain from DuckDNS. Ports 80 and 443 are open.
After successful deploy accessing the server on https:// doesn't work. The logs contain this:
Proxy config in deploy.yml
The text was updated successfully, but these errors were encountered: