1
0
Fork 0

Update: support tcp-mode (in frontend/backend)

This commit is contained in:
till 2020-05-30 15:50:22 +02:00
parent 869fdead3d
commit f5b097616e
No known key found for this signature in database
GPG key ID: B119050E2EBA1DC5
3 changed files with 30 additions and 3 deletions

View file

@ -39,10 +39,17 @@ backend srv_stats
{% endif %}
{% for o in data["easymapping"] %}
{% set mode = o["mode"] or "http" %}
{% set salt = loop.index %}
frontend http_in_{{ o["port"] }}_{{ salt }}
frontend {{ mode }}_in_{{ o["port"] }}_{{ salt }}
bind *:{{ o["port"] }} {{ " ssl crt " + o["ssl_cert"] if "ssl_cert" in o else "" }}
mode http
mode {{ mode }}
{% if mode == "tcp" -%}
option tcplog
tcp-request inspect-delay 5s
tcp-request content accept if { req.ssl_hello_type 1 }
{% endif -%}
{% for k in o["redirect"] -%}
redirect prefix {{ o["redirect"][k] }} code 301 if { hdr(host) -i {{ k }} }
@ -59,10 +66,14 @@ frontend http_in_{{ o["port"] }}_{{ salt }}
{% set host = k.replace(".", "_") + "_{0}_{1}".format(o["port"], salt) %}
backend srv_{{ host }}
balance roundrobin
mode http
mode {{ mode }}
{% if mode == "http" %}
option forwardfor
http-request set-header X-Forwarded-Port %[dst_port]
http-request add-header X-Forwarded-Proto https if { ssl_fc }
{% endif %}
server srv {{ o["hosts"][k] }} check weight 1
{% endfor %}
{% endfor %}