Is your feature request related to a problem? Please describe
ACME supports tls-alpn chalnages.
Describe the solution you'd like
Here is a potential solution:
use $ssl_preread_alpn_protocols to detect ALPN protocol and proxy traffic to the appropriate server.
stream {
# set tls_port vari base on ALPN protocol
map $ssl_preread_alpn_protocols $tls_port {
~\bacme-tls/1\b 9443;
~\bh2\b 10443;
~\bhttp/1.1\b 10443;
default 11443;
}
# listen on :443 port and then proxy to the appropriate server based on ALPN protocol
server {
listen :443;
ssl_preread on;
proxy_pass 127.0.0.1:$tls_port;
}
Then we can use js_set to read challenges from the FS similarly to how we currently read HTTP-01 chanallnages by doing this:
we need to consider adding a new function similar to clientAutoMode or updating it so both tls-alpm and HTTP challenges are supported. this requires some experiments and dining in.
Is your feature request related to a problem? Please describe
ACME supports tls-alpn chalnages.
Describe the solution you'd like
Here is a potential solution:
use
$ssl_preread_alpn_protocols
to detect ALPN protocol and proxy traffic to the appropriate server.Then we can use js_set to read challenges from the FS similarly to how we currently read HTTP-01 chanallnages by doing this:
Here is an approximate nginx config:
we need to consider adding a new function similar to
clientAutoMode
or updating it so both tls-alpm and HTTP challenges are supported. this requires some experiments and dining in.