diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml index a849f3593..f84c18c97 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogReverseProxy.xml @@ -53,8 +53,7 @@ ll be automatically updated with your DNS Provider.]]> reverse.AcmePassthrough text - - true + reverse.CustomCertificate diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml index 4aeace28a..9a790162a 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dialogSubdomain.xml @@ -43,6 +43,17 @@ checkbox + + header + + true + + + subdomain.AcmePassthrough + + text + + header diff --git a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml index d482aa4ba..4177a5dc5 100644 --- a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml +++ b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml @@ -219,6 +219,10 @@ Y + + Please enter a valid 'to' domain or IP address. + Y + diff --git a/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/reverse_proxy.volt b/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/reverse_proxy.volt index 7cfd98bc8..ec5e4b7dc 100644 --- a/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/reverse_proxy.volt +++ b/www/caddy/src/opnsense/mvc/app/views/OPNsense/Caddy/reverse_proxy.volt @@ -257,7 +257,7 @@ Port Access List Basic Auth - DNS-01 + DNS-01 challenge Dynamic DNS HTTP Access Log Custom Certificate @@ -295,6 +295,7 @@ Access List Basic Auth Dynamic DNS + HTTP-01 redirection Description Commands diff --git a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile index 7aa75d1dc..7c9f7ed9d 100644 --- a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile +++ b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile @@ -308,6 +308,20 @@ } {% endif %} {% endfor %} +{# Process redirection for subdomains afterwards, since a redirection of a wildcard domain has to match before them. #} +{% for subdomain in helpers.toList('Pischem.caddy.reverseproxy.subdomain') %} + {% if subdomain.enabled|default("0") == "1" and subdomain.AcmePassthrough %} + # HTTP-01 challenge redirection for subdomain: "{{ subdomain['@uuid'] }}" + http://{{ subdomain.FromDomain|default("") }} { + handle /.well-known/acme-challenge/* { + reverse_proxy {{ subdomain.AcmePassthrough }} + } + handle { + redir https://{host}{uri} 308 + } + } + {% endif %} +{% endfor %} {# # Macro: tls_configuration