diff --git a/software/caddy-frontend/TODO.rst b/software/caddy-frontend/TODO.rst
index 915c1fe0c119a40f7ba2a9dfb21b1282a13c15ed..5135c4b0b87a7e40e39041fbb6ce58cfa93a23eb 100644
--- a/software/caddy-frontend/TODO.rst
+++ b/software/caddy-frontend/TODO.rst
@@ -15,7 +15,6 @@ Generally things to be done with ``caddy-frontend``:
  * ``ssl_proxy_ca_crt`` for ``ssl_proxy_verify``, this is related to bug https://github.com/mholt/caddy/issues/1550, proposed solution `just adding your CA to the system's trust store`
  * ``check-error-on-caddy-log`` like ``check-error-on-apache-log``
  * cover test suite like resilient tests for KVM and prove it works the same way as Caddy
- * make beautiful (eg. with whitespaces and nice comments) generated files (mostly Jinja2)
  * have ``caddy-frontend`` specific parameters, with backward compatibility to ``apache-frontend`` ones (like ``apache_custom_http`` --> ``caddy_custom_http``)
  * change ``switch-softwaretype`` to way how ``software/erp5`` does, which will help with dropping jinja2 template for ``caddy-wrapper``, which is workaround for current situation https://lab.nexedi.com/nexedi/slapos/merge_requests/312#note_62678
  * use `slapos!326 <https://lab.nexedi.com/nexedi/slapos/merge_requests/326>`_ instead of self-developed graceful restart scripts
diff --git a/software/caddy-frontend/buildout.hash.cfg b/software/caddy-frontend/buildout.hash.cfg
index eaf300bc46fe97b1b3770586701fdec49e03a2dd..c392e9edc35914129d822c4d997c99a430dc1283 100644
--- a/software/caddy-frontend/buildout.hash.cfg
+++ b/software/caddy-frontend/buildout.hash.cfg
@@ -38,7 +38,7 @@ md5sum = 8d318af17da5631d4242c0d6d1531066
 
 [template-caddy-frontend-configuration]
 filename = templates/Caddyfile.in
-md5sum = 924d3bb528f590916552534934c604a2
+md5sum = 9404959e500a868aab1a217503117047
 
 [template-custom-slave-list]
 filename = templates/apache-custom-slave-list.cfg.in
@@ -50,11 +50,11 @@ md5sum = f20d6c3d2d94fb685f8d26dfca1e822b
 
 [template-default-slave-virtualhost]
 filename = templates/default-virtualhost.conf.in
-md5sum = b524304177e7854232aa43bed98ddbfd
+md5sum = fa7dc8481f0c3066045c1dd5a8a3191a
 
 [template-cached-slave-virtualhost]
 filename = templates/cached-virtualhost.conf.in
-md5sum = 5aab4c15189a39837f56d4f442b233c6
+md5sum = bfcc2bcfe9151b9d3f25c4616e2c4f4f
 
 [template-log-access]
 filename = templates/template-log-access.conf.in
@@ -82,7 +82,7 @@ md5sum = 117238225b3fc3c5b5be381815f44c67
 
 [template-nginx-configuration]
 filename = templates/nginx.cfg.in
-md5sum = b1d6bac767db77ad1662edd06aabdf49
+md5sum = fadb2fcaf0f2b4fe735617fac222f7ed
 
 [template-nginx-eventsource-slave-virtualhost]
 filename = templates/nginx-eventsource-slave.conf.in
@@ -90,7 +90,7 @@ md5sum = 69d65e461cd7cd5ef5b1ccd0098b50c8
 
 [template-nginx-notebook-slave-virtualhost]
 filename = templates/nginx-notebook-slave.conf.in
-md5sum = 753e87647d1ed4655432393bba062d3f
+md5sum = b97ec5b84d5e0d3a76871c15b5bcce2e
 
 [template-apache-lazy-script-call]
 filename = templates/apache-lazy-script-call.sh.in
diff --git a/software/caddy-frontend/templates/Caddyfile.in b/software/caddy-frontend/templates/Caddyfile.in
index ba43946a53ea87c1d82eea63a57a21f3cfe74ca3..424823035c16609f68464c4e78b1cadd263aa1ee 100644
--- a/software/caddy-frontend/templates/Caddyfile.in
+++ b/software/caddy-frontend/templates/Caddyfile.in
@@ -1,9 +1,10 @@
-# Automatically generated
+# Main caddy configuration file
 
 import {{frontend_configuration.get('log-access-configuration')}}
 import {{ slave_configuration_directory }}/*.conf
 import {{ slave_with_cache_configuration_directory }}/*.conf
 
+# Catch-all and 404 for not configured instances
 :{{ https_port }} {
   tls {{ login_certificate }} {{ login_key }}
   bind {{ local_ipv4 }}
@@ -14,6 +15,16 @@ import {{ slave_with_cache_configuration_directory }}/*.conf
   }
 }
 
+:{{ http_port }} {
+  bind {{ local_ipv4 }}
+  status 404 /
+  log / {{ access_log }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
+  errors {{ error_log }} {
+    * {{ not_found_file }}
+  }
+}
+
+# Access to server-status Caddy-style
 https://[{{ global_ipv6 }}]:{{ https_port }}/server-status, https://{{ local_ipv4 }}:{{ https_port }}/server-status {
   tls {{ login_certificate }} {{ login_key }}
   bind {{ local_ipv4 }}
@@ -28,12 +39,3 @@ https://[{{ global_ipv6 }}]:{{ https_port }}/server-status, https://{{ local_ipv
     * {{ not_found_file }}
   }
 }
-
-:{{ http_port }} {
-  bind {{ local_ipv4 }}
-  status 404 /
-  log / {{ access_log }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
-  errors {{ error_log }} {
-    * {{ not_found_file }}
-  }
-}
diff --git a/software/caddy-frontend/templates/cached-virtualhost.conf.in b/software/caddy-frontend/templates/cached-virtualhost.conf.in
index d71c3edeb0c3097fed6527d625530a13374f1cf6..347a143305bb12a6e0d9a246ccc9fc22a7f0bc5d 100644
--- a/software/caddy-frontend/templates/cached-virtualhost.conf.in
+++ b/software/caddy-frontend/templates/cached-virtualhost.conf.in
@@ -1,20 +1,20 @@
-{% set TRUE_VALUES = ['y', 'yes', '1', 'true'] %}
-{% set server_alias_list =  slave_parameter.get('server-alias', '').split() %}
-{% set ssl_proxy_verify = ('' ~ slave_parameter.get('ssl-proxy-verify', '')).lower() in TRUE_VALUES %}
-{% set host_list = [slave_parameter.get('custom_domain')] + server_alias_list %}
-{% set http_backend_host_list = [] %}
-{% set https_backend_host_list = [] %}
-{% for host in host_list %}
-{%   do http_backend_host_list.append('http://%s:%s' % (host, cached_port)) %}
-{%   do https_backend_host_list.append('http://%s:%s' % (host, ssl_cached_port)) %}
-{% endfor %}
+{%- set TRUE_VALUES = ['y', 'yes', '1', 'true'] %}
+{%- set server_alias_list =  slave_parameter.get('server-alias', '').split() %}
+{%- set ssl_proxy_verify = ('' ~ slave_parameter.get('ssl-proxy-verify', '')).lower() in TRUE_VALUES %}
+{%- set host_list = [slave_parameter.get('custom_domain')] + server_alias_list %}
+{%- set http_backend_host_list = [] %}
+{%- set https_backend_host_list = [] %}
+{%- for host in host_list %}
+{%-   do http_backend_host_list.append('http://%s:%s' % (host, cached_port)) %}
+{%-   do https_backend_host_list.append('http://%s:%s' % (host, ssl_cached_port)) %}
+{%- endfor %}
 
-# Only accept generic (i.e not Zope) backends on http
+# SSL-disabled backends
 {{ http_backend_host_list|join(', ') }} {
   bind {{ local_ipv4 }}
-{% if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
+{%- if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
     status 501 /
-{% endif %}
+{%- endif %}
 # Rewrite part
   proxy / {{ slave_parameter.get('backend_url', '') }} {
     # As backend is trusting REMOTE_USER header unset it always
@@ -22,30 +22,31 @@
 
     transparent
     timeout 600s
-{% if ssl_proxy_verify %}
-{%   if 'ssl_proxy_ca_crt' in slave_parameter %}
-{%   endif %}
-{% else %}
+{%- if ssl_proxy_verify %}
+{%-   if 'ssl_proxy_ca_crt' in slave_parameter %}
+{%-   endif %}
+{%- else %}
     insecure_skip_verify
-{% endif %}
+{%- endif %}
   }
 }
 
+# SSL-enabled backends
 {{ https_backend_host_list|join(', ') }} {
   bind {{ local_ipv4 }}
-{% if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
+{%- if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
     status 501 /
-{% endif %}
+{%- endif %}
   proxy / {{ slave_parameter.get('https_backend_url', '') }} {
     # As backend is trusting REMOTE_USER header unset it always
     header_upstream -REMOTE_USER
     transparent
     timeout 600s
-{% if ssl_proxy_verify %}
-{%   if 'ssl_proxy_ca_crt' in slave_parameter %}
-{%   endif %}
-{% else %}
+{%- if ssl_proxy_verify %}
+{%-   if 'ssl_proxy_ca_crt' in slave_parameter %}
+{%-   endif %}
+{%- else %}
     insecure_skip_verify
-{% endif %}
+{%- endif %}
   }
 }
diff --git a/software/caddy-frontend/templates/default-virtualhost.conf.in b/software/caddy-frontend/templates/default-virtualhost.conf.in
index f88b3da139739af2fd3057afb78193825693b4d8..fc55a668bf9be5828e2a26124ee3a61d22fd74ae 100644
--- a/software/caddy-frontend/templates/default-virtualhost.conf.in
+++ b/software/caddy-frontend/templates/default-virtualhost.conf.in
@@ -1,200 +1,210 @@
-{% set TRUE_VALUES = ['y', 'yes', '1', 'true'] %}
-{% set disable_no_cache_header = ('' ~ slave_parameter.get('disable-no-cache-request', '')).lower() in TRUE_VALUES %}
-{% set disable_via_header = ('' ~ slave_parameter.get('disable-via-header', '')).lower() in TRUE_VALUES %}
-{% set prefer_gzip = ('' ~ slave_parameter.get('prefer-gzip-encoding-to-backend', '')).lower() in TRUE_VALUES %}
-{% set server_alias_list =  slave_parameter.get('server-alias', '').split() %}
-{% set enable_h2 = ('' ~ slave_parameter.get('enable-http2', slave_parameter['enable_http2_by_default'])).lower() in TRUE_VALUES %}
-{% set ssl_proxy_verify = ('' ~ slave_parameter.get('ssl-proxy-verify', '')).lower() in TRUE_VALUES %}
-{% set disabled_cookie_list =  slave_parameter.get('disabled-cookie-list', '').split() %}
-{% set https_only = ('' ~ slave_parameter.get('https-only', '')).lower() in TRUE_VALUES %}
-{% set slave_type = slave_parameter.get('type', '') %}
-{% set host_list = [slave_parameter.get('custom_domain')] + server_alias_list %}
-{% set backend_url = slave_parameter.get('https-url', slave_parameter.get('url', '')) %}
-{% set http_host_list = [] %}
-{% set https_host_list = [] %}
-{% for host in host_list %}
-{%   do http_host_list.append('http://%s:%s' % (host, http_port)) %}
-{%   do https_host_list.append('https://%s:%s' % (host, https_port)) %}
-{% endfor %}
+{%- set TRUE_VALUES = ['y', 'yes', '1', 'true'] %}
+{%- set disable_no_cache_header = ('' ~ slave_parameter.get('disable-no-cache-request', '')).lower() in TRUE_VALUES %}
+{%- set disable_via_header = ('' ~ slave_parameter.get('disable-via-header', '')).lower() in TRUE_VALUES %}
+{%- set prefer_gzip = ('' ~ slave_parameter.get('prefer-gzip-encoding-to-backend', '')).lower() in TRUE_VALUES %}
+{%- set server_alias_list =  slave_parameter.get('server-alias', '').split() %}
+{%- set enable_h2 = ('' ~ slave_parameter.get('enable-http2', slave_parameter['enable_http2_by_default'])).lower() in TRUE_VALUES %}
+{%- set ssl_proxy_verify = ('' ~ slave_parameter.get('ssl-proxy-verify', '')).lower() in TRUE_VALUES %}
+{%- set disabled_cookie_list =  slave_parameter.get('disabled-cookie-list', '').split() %}
+{%- set https_only = ('' ~ slave_parameter.get('https-only', '')).lower() in TRUE_VALUES %}
+{%- set slave_type = slave_parameter.get('type', '') %}
+{%- set host_list = [slave_parameter.get('custom_domain')] + server_alias_list %}
+{%- set backend_url = slave_parameter.get('https-url', slave_parameter.get('url', '')) %}
+{%- set http_host_list = [] %}
+{%- set https_host_list = [] %}
+{%- for host in host_list %}
+{%-   do http_host_list.append('http://%s:%s' % (host, http_port)) %}
+{%-   do https_host_list.append('https://%s:%s' % (host, https_port)) %}
+{%- endfor %}
+
+# SSL enabled hosts
 {{ https_host_list|join(', ') }} {
   bind {{ local_ipv4 }}
-{% if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
+{%- if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
     status 501 /
-{% endif %}
+{%- endif %}
   tls {{ slave_parameter.get('path_to_ssl_crt', slave_parameter.get('login_certificate')) }} {{ slave_parameter.get('path_to_ssl_key', slave_parameter.get('login_key')) }} {
-{% if slave_parameter.get('path_to_ssl_ca_crt') %}
+{%- if slave_parameter.get('path_to_ssl_ca_crt') %}
+    # Configuration of accepted clients
     clients {{ slave_parameter.get('path_to_ssl_ca_crt') }}
-{% endif %}
-{% if enable_h2 %}
+{%- endif %}
+{%- if enable_h2 %}
+    # Allow HTTP2
     alpn h2 http/1.1
-{% else %}
+{%- else %}
+    # Disallow HTTP2
     alpn http/1.1
-{% endif %}
+{%- endif %}
   }
   log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
   errors {{ slave_parameter.get('error_log') }}
 
-{% for disabled_cookie in disabled_cookie_list %}
-{% endfor %}
+{%- for disabled_cookie in disabled_cookie_list %}
+{%- endfor %}
 
-{% if prefer_gzip %}
-{% endif %}
+{%- if prefer_gzip %}
+{%- endif %}
 
-{% if slave_type ==  'zope' and backend_url %}
+{%- if slave_type ==  'zope' and backend_url %}
+  # Zope configuration
   proxy / {{ backend_url }} {
     # As backend is trusting REMOTE_USER header unset it always
     header_upstream -REMOTE_USER
 
-{% if disable_via_header %}
+{%-   if disable_via_header %}
     header_downstream -Via
-{% endif %}
+{%-   endif %}
 
-{% if disable_no_cache_header %}
+{%-   if disable_no_cache_header %}
     header_upstream -Cache-Control
     header_upstream -Pragma
-{% endif %}
+{%-   endif %}
     transparent
     timeout 600s
-{% if ssl_proxy_verify %}
-{%   if 'ssl_proxy_ca_crt' in slave_parameter %}
-{%   endif %}
-{% else %}
+{%-   if ssl_proxy_verify %}
+{%-     if 'ssl_proxy_ca_crt' in slave_parameter %}
+{%-     endif %}
+{%-   else %}
     insecure_skip_verify
-{% endif %}
+{%-   endif %}
   }
-  {% if 'default-path' in slave_parameter %}
+  {%- if 'default-path' in slave_parameter %}
   redir 301 {
     if {path} is /
     / {scheme}://{host}/{{ slave_parameter.get('default-path') }}
   }
-  {% endif %}
+  {%- endif %}
   rewrite {
     regexp (.*)
     to /VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-https-port', '443') }}%2F{{ slave_parameter.get('path', '') }}%2FVirtualHostRoot/{1}
   }
-{% elif slave_type ==  'redirect' and backend_url %}
+{%- elif slave_type ==  'redirect' and backend_url %}
+  # Redirect configuration
   redir 302 {
     /  {{ backend_url }}{uri}
   }
-{% else %}
-  {% if 'default-path' in slave_parameter %}
+{%- else %}
+  # Default configuration
+{%-   if 'default-path' in slave_parameter %}
   redir 301 {
     if {path} is /
     / {scheme}://{host}/{{ slave_parameter.get('default-path') }}
   }
-  {% endif %}
-  {% if backend_url %}
+{%-   endif %}
+{%-   if backend_url %}
 
   proxy / {{ backend_url }} {
     # As backend is trusting REMOTE_USER header unset it always
     header_upstream -REMOTE_USER
 
-{% if disable_via_header %}
+{%-     if disable_via_header %}
     header_downstream -Via
-{% endif %}
+{%-     endif %}
 
-{% if disable_no_cache_header %}
+{%-     if disable_no_cache_header %}
     header_upstream -Cache-Control
     header_upstream -Pragma
-{% endif %}
+{%-     endif %}
     transparent
     timeout 600s
-{% if ssl_proxy_verify %}
-{%   if 'ssl_proxy_ca_crt' in slave_parameter %}
-{%   endif %}
-{% else %}
+{%-     if ssl_proxy_verify %}
+{%-       if 'ssl_proxy_ca_crt' in slave_parameter %}
+{%-       endif %}
+{%-     else %}
     insecure_skip_verify
-{% endif %}
+{%-     endif %}
   }
-  {%   endif %}
-{% endif %}
+{%-   endif %}
+{%- endif %}
 }
 
+# SSL-disabled hosts
 {{ http_host_list|join(', ') }} {
   bind {{ local_ipv4 }}
-{% if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
+{%- if ssl_proxy_verify and 'ssl_proxy_ca_crt' in slave_parameter %}
     status 501 /
-{% endif %}
+{%- endif %}
 
   log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
   errors {{ slave_parameter.get('error_log') }}
 
-{% for disabled_cookie in disabled_cookie_list %}
-{% endfor %}
+{%- for disabled_cookie in disabled_cookie_list %}
+{%- endfor %}
 
-{% if prefer_gzip %}
-{% endif %}
+{%- if prefer_gzip %}
+{%- endif %}
 
-{% if https_only %}
+{%- if https_only %}
+  # Enforced redirection to SSL-enabled host
   redir / https://{host}{uri}
-{% elif slave_type ==  'redirect' and slave_parameter.get('url', '') %}
+{%- elif slave_type ==  'redirect' and slave_parameter.get('url', '') %}
+  # Redirect configuration
   redir 302 {
     /  {{ slave_parameter.get('url', '') }}{uri}
   }
-{% elif slave_type ==  'zope' and backend_url %}
+{%- elif slave_type ==  'zope' and backend_url %}
+  # Zope configuration
   proxy / {{ backend_url }} {
     # As backend is trusting REMOTE_USER header unset it always
     header_upstream -REMOTE_USER
 
-{% if disable_via_header %}
+{%-   if disable_via_header %}
     header_downstream -Via
-{% endif %}
+{%-   endif %}
 
-{% if disable_no_cache_header %}
+{%-   if disable_no_cache_header %}
     header_upstream -Cache-Control
     header_upstream -Pragma
-{% endif %}
+{%-   endif %}
     transparent
     timeout 600s
-{% if ssl_proxy_verify %}
-{%   if 'ssl_proxy_ca_crt' in slave_parameter %}
-{%   endif %}
-{% else %}
+{%-   if ssl_proxy_verify %}
+{%-     if 'ssl_proxy_ca_crt' in slave_parameter %}
+{%-     endif %}
+{%-   else %}
     insecure_skip_verify
-{% endif %}
+{%-   endif %}
   }
-  {% if 'default-path' in slave_parameter %}
+{%-   if 'default-path' in slave_parameter %}
   redir 301 {
     if {path} is /
     / {scheme}://{host}/{{ slave_parameter.get('default-path') }}
   }
-  {% endif %}
+{%-   endif %}
   rewrite {
     regexp (.*)
     to /VirtualHostBase/{scheme}%2F%2F{hostonly}:{{ slave_parameter.get('virtualhostroot-http-port', '80') }}%2F{{ slave_parameter.get('path', '') }}%2FVirtualHostRoot/{1}
   }
-{% else %}
-  {% if 'default-path' in slave_parameter %}
+{%- else %}
+  # Default configuration
+{%-   if 'default-path' in slave_parameter %}
   redir 301 {
     if {path} is /
     / {scheme}://{host}/{{ slave_parameter.get('default-path') }}
   }
-  {% endif %}
-  {% if slave_parameter.get('url', '') %}
+{%-   endif %}
+{%-   if slave_parameter.get('url', '') %}
   proxy / {{ slave_parameter.get('url', '') }} {
     # As backend is trusting REMOTE_USER header unset it always
     header_upstream -REMOTE_USER
 
-{% if disable_via_header %}
+{%-     if disable_via_header %}
     header_downstream -Via
-{% endif %}
+{%-     endif %}
 
-{% if disable_no_cache_header %}
+{%-     if disable_no_cache_header %}
     header_upstream -Cache-Control
     header_upstream -Pragma
-{% endif %}
+{%-     endif %}
     transparent
     timeout 600s
-{% if ssl_proxy_verify %}
-{%   if 'ssl_proxy_ca_crt' in slave_parameter %}
-{%   endif %}
-{% else %}
+{%-     if ssl_proxy_verify %}
+{%-       if 'ssl_proxy_ca_crt' in slave_parameter %}
+{%-       endif %}
+{%-     else %}
     insecure_skip_verify
-{% endif %}
+{%-     endif %}
   }
-{% endif %}
-{% endif %}
-  # If nothing exist : put a nice error
-#  ErrorDocument 404 /notfound.html
-# Dadiboom
+{%-   endif %}
+{%- endif %}
 }
diff --git a/software/caddy-frontend/templates/nginx-notebook-slave.conf.in b/software/caddy-frontend/templates/nginx-notebook-slave.conf.in
index c0753ebec34287fb55e1b8f2c7fc5f4ff8355e72..6331478a600e6bc8845bb3c4f0a7934130ec91f9 100644
--- a/software/caddy-frontend/templates/nginx-notebook-slave.conf.in
+++ b/software/caddy-frontend/templates/nginx-notebook-slave.conf.in
@@ -1,18 +1,19 @@
-{% set url = slave_parameter.get('url') %}
-{% set https_url = slave_parameter.get('https-url', url) %}
-{% if url.startswith("http://") or url.startswith("https://") %}
-{%   set upstream = url.split("/")[2] %}
-{%   set https_upstream = https_url.split("/")[2] %}
+{%- set url = slave_parameter.get('url') %}
+{%- set https_url = slave_parameter.get('https-url', url) %}
+{%- if url.startswith("http://") or url.startswith("https://") %}
+{%-   set upstream = url.split("/")[2] %}
+{%-   set https_upstream = https_url.split("/")[2] %}
 
+# SSL-enabled
 https://{{ slave_parameter.get('custom_domain') }}:{{ nginx_https_port }} {
   bind {{ local_ipv4 }}
   log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
   errors {{ slave_parameter.get('error_log') }}
 
   tls {{ slave_parameter.get('path_to_ssl_crt', slave_parameter.get('login_certificate')) }} {{ slave_parameter.get('path_to_ssl_key', slave_parameter.get('login_key')) }} {
-{% if slave_parameter.get('path_to_ssl_ca_crt') %}
+{%-   if slave_parameter.get('path_to_ssl_ca_crt') %}
     clients {{ slave_parameter.get('path_to_ssl_ca_crt') }}
-{% endif %}
+{%-   endif %}
     alpn http/1.1
   }
 
@@ -33,6 +34,7 @@ https://{{ slave_parameter.get('custom_domain') }}:{{ nginx_https_port }} {
   }
 }
 
+# SSL-disabled
 http://{{ slave_parameter.get('custom_domain') }}:{{ nginx_http_port }} {
   bind {{ local_ipv4 }}
   log / {{ slave_parameter.get('access_log') }} "{remote} {>REMOTE_USER} [{when}] \"{method} {uri} {proto}\" {status} {size} \"{>Referer}\" \"{>User-Agent}\" {latency_ms}"
@@ -54,4 +56,4 @@ http://{{ slave_parameter.get('custom_domain') }}:{{ nginx_http_port }} {
     insecure_skip_verify
   }
 }
-{% endif %}
+{%- endif %}
diff --git a/software/caddy-frontend/templates/nginx.cfg.in b/software/caddy-frontend/templates/nginx.cfg.in
index 07b61b42c8cb3e7b257e1972ef82ea7cb6e52f82..4c00360cdc67935d66e5a9a056be5e9f305e6dd6 100644
--- a/software/caddy-frontend/templates/nginx.cfg.in
+++ b/software/caddy-frontend/templates/nginx.cfg.in
@@ -57,6 +57,7 @@
 
 import {{ slave_configuration_directory }}/*.conf
 
+# Catch-all and 404 for not configured instances
 :{{ port }} {
   tls {{ ssl_certificate }} {{ ssl_key }}
   bind {{ local_ip }}