17 lines
765 B
Django/Jinja
17 lines
765 B
Django/Jinja
mode http
|
|
{% for k in o["redirect"] %}
|
|
redirect prefix {{ o["redirect"][k] }} code 301 if { hdr(host) -i {{ k }} }
|
|
{% endfor %}
|
|
|
|
{%- for k in o["hosts"] %}
|
|
{% set host = k.replace(".", "_") + "_{0}_{1}".format(o["port"], salt) %}
|
|
{% set letsencrypt = o["hosts"][k]["letsencrypt"] %}
|
|
|
|
acl is_rule_{{ host }}_1 hdr(host) -i {{ k }}
|
|
acl is_rule_{{ host }}_2 hdr(host) -i {{ k }}:{{ o["port"] }}
|
|
{% if letsencrypt %}
|
|
acl is_letsencrypt_{{ host }} path_beg /.well-known/acme-challenge/
|
|
use_backend letsencrypt_backend if (is_rule_{{ host }}_1 OR is_rule_{{ host }}_2) AND is_letsencrypt_{{ host }}
|
|
{% endif %}
|
|
use_backend srv_{{ host }} if is_rule_{{ host }}_1 OR is_rule_{{ host }}_2
|
|
{% endfor %}
|