mirror of
https://github.com/dehydrated-io/dehydrated.git
synced 2026-01-11 22:30:44 +01:00
Support for tls-alpn verification #361
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @lukas2511 on GitHub (Jul 17, 2018).
Originally assigned to: @lukas2511 on GitHub.
Dehydrated could generate tls-alpn verification certificates as another way of verification, those should be easily deployable using a new hook.
Short explanation on tls-alpn verification after reading the specs:
Technical specs for the required certificate extension:
@lukas2511 commented on GitHub (Jul 26, 2018):
So, I experimented a bit with this.
Generating the certificate seems very easy; The changes to dehydrated itself are minimal, I'm actually generating the verification certificate inside my hook-script for now.
The hard part is actually using it...
As far as I can see there is absolutely no support for working with custom ALPNs in any better-known webserver, and I think that kinda makes sense, after all they are made to reply to web-requests, not anything else.
I was able to use nginx's ssl_preread module on my load-balancer to at least forward those requests to a different port, this should be a good starting point.
I guess I'll try to find or write a simple responder...
@lukas2511 commented on GitHub (Jul 26, 2018):
With
fba49ba28edehydrated now supports tls-alpn-01 verification. I added my example responder and load-balancer config to the docs directory, please handle with care.@waynew commented on GitHub (Mar 16, 2019):
Hey - what version of nginx were you using? I tried your example config and I kept getting garbage errors, so I'm not sure if it's just because 1.10 is too old (I can go ask on serverfault or something to get more specific help if that's not the case)
@lukas2511 commented on GitHub (Mar 16, 2019):
@waynew You'll need at least nginx 1.13.10 as you'll require the $ssl_preread_alpn_protocols variable for a TCP proxy / TLS preread.