diff options
Diffstat (limited to 'roles/relayd/templates')
-rw-r--r-- | roles/relayd/templates/relayd.conf.j2 | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/roles/relayd/templates/relayd.conf.j2 b/roles/relayd/templates/relayd.conf.j2 index 4b43c8e..a1abf23 100644 --- a/roles/relayd/templates/relayd.conf.j2 +++ b/roles/relayd/templates/relayd.conf.j2 @@ -7,7 +7,7 @@ # ====== # table <local> { 127.0.0.1 } -{% for h in groups["all"] %} +{% for h in groups["servers"] %} {% set h = dict(hostvars[h]) %} {##} {% if h.ip.in is defined %} @@ -20,12 +20,15 @@ table <{{ h.ansible_host }}> { {{ h.ip.in }} } # filter for vhost # ================ # -http protocol vhost { -{% for h in groups["all"] %} +http protocol reverse_proxy { + pass request header "Host" value "{{ global.domain_name }}" forward to <local> +{% for h in groups["servers"] %} {% set h = dict(hostvars[h]) %} {##} {% if h.ip.in is defined %} - pass request header "Host" value "{{ h.ansible_host }}.{{ _i.domain_name }}" forward to <{{ h.ansible_host }}> +{% for service in h.services if service.domain is defined %} + pass request header "Host" value "{{ service.domain }}.{{ global.domain_name }}" forward to <{{ h.ansible_host }}> +{% endfor %} {% endif %} {##} {% endfor %} @@ -35,24 +38,15 @@ http protocol vhost { # relays for all protocol # ======================= # -{% set relays = {} %} -{% for h in groups["servers"] %} - {% set h = dict(hostvars[h]) %} - {##} - {% for service in h.services | sort(attribute="port") if service.domain is defined %} - {% set _ = relays.update({ service.port : [] }) if relays[service.port] is not defined %} - {% set key_changer = { "host" : h.ansible_host, "domain" : service.domain } %} - {% set _ = relays[service.port].append(key_changer) %} - {% endfor %} - {##} +relay www { + listen on egress port 80 + protocol reverse_proxy + forward to <local> port 80 check icmp +{% for hostname in groups["servers"] %} +{% set h = dict(hostvars[hostname]) %} +{% for service in h.services if service.domain is defined %} + forward to <{{ hostname }}> port {{ service.port }} check icmp {% endfor %} - -{% for relay in relays %} -relay vhost_{{ relay }} { - listen on egress port {{ relay }} - protocol vhost -{% for h in relays[relay] %} - forward to <{{ h.host }}> port {{ relay }} check icmp {% endfor %} } -{% endfor %} + |