www/nginx: support for ip_hash option

This commit is contained in:
Fabian Franz
2019-06-09 12:33:35 +02:00
parent e86f9e6e0e
commit f91d44f43d
3 changed files with 18 additions and 0 deletions
@@ -10,6 +10,12 @@
<style>selectpicker</style>
<type>select_multiple</type>
</field>
<field>
<id>upstream.load_balancing_algorithm</id>
<label>Load Balancing Algorithm</label>
<style>selectpicker</style>
<type>dropdown</type>
</field>
<field>
<id>upstream.proxy_protocol</id>
<label>PROXY Protocol</label>
@@ -82,6 +82,13 @@
<Required>Y</Required>
<multiple>Y</multiple>
</serverentries>
<load_balancing_algorithm type="OptionField">
<OptionValues>
<ip_hash>IP Hash</ip_hash>
</OptionValues>
<BlankDesc>Weighted Round Robin</BlankDesc>
<Required>N</Required>
</load_balancing_algorithm>
<proxy_protocol type="BooleanField">
<default>0</default>
<Required>Y</Required>
@@ -7,6 +7,11 @@
{% endfor %}
{% for upstream_uuid, upstream in upstreamlist.items() %}
upstream upstream{{ upstream_uuid.replace('-','') }} {
{% if upstream.load_balancing_algorithm is defined and upstream.load_balancing_algorithm != '' %}
{% if upstream.load_balancing_algorithm == 'ip_hash' %}
ip_hash;
{% endif %}
{% endif %}
{% for upstream_serveruuid in upstream.serverentries.split(',') %}
{% set upstream_server = helpers.getUUID(upstream_serveruuid) %}
server {% if ':' in upstream_server.server %}[{% endif %}{{ upstream_server.server }}{% if ':' in upstream_server.server %}]{% endif