diff --git a/net/haproxy/pkg-descr b/net/haproxy/pkg-descr index 22938d5de..19252be16 100644 --- a/net/haproxy/pkg-descr +++ b/net/haproxy/pkg-descr @@ -10,6 +10,11 @@ Plugin Changelog Added: * add support for unix sockets (#2040) +* add "max connections" option to servers (#2641) + +Changed: +* allow setting "max connections" to "0" (unlimited) +* raise maximum value for "max connections" to 10000000 3.7 diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml index f7ed02436..682e0bb27 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogFrontend.xml @@ -242,7 +242,7 @@ frontend.tuning_maxConnections - + text diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml index 01b71a120..fa2283086 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/dialogServer.xml @@ -138,6 +138,13 @@ Type certificate name or choose from list. true + + server.maxConnections + + text + + true + server.weight diff --git a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalDefaults.xml b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalDefaults.xml index 4a44e0aee..81a9700f7 100644 --- a/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalDefaults.xml +++ b/net/haproxy/src/opnsense/mvc/app/controllers/OPNsense/HAProxy/forms/generalDefaults.xml @@ -5,9 +5,15 @@ haproxy.general.defaults.maxConnections - + text - + + + + haproxy.general.defaults.maxConnectionsServers + + text + haproxy.general.defaults.timeoutClient diff --git a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml index 009938fc3..5efa6dff9 100644 --- a/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml +++ b/net/haproxy/src/opnsense/mvc/app/models/OPNsense/HAProxy/HAProxy.xml @@ -67,9 +67,9 @@ Y - 1 - 500000 - Please specify a value between 1 and 500000. + 0 + 10000000 + Please specify a value between 0 and 10000000. N @@ -194,11 +194,17 @@ - 1 - 500000 - Please specify a value between 1 and 500000. + 0 + 10000000 + Please specify a value between 0 and 10000000. N + + 0 + 10000000 + Please specify a value between 0 and 10000000. + N + 30s /^([0-9]{1,8}(?:us|ms|s|m|h|d)?)/u @@ -598,9 +604,9 @@ N - 1 - 500000 - Please specify a value between 1 and 500000. + 0 + 10000000 + Please specify a value between 0 and 10000000. N @@ -1318,6 +1324,12 @@ cert Please select a valid certificate from the list. + + 0 + 10000000 + Please specify a value between 0 and 10000000. + N + 0 256 diff --git a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf index bfe118cb9..b95910675 100644 --- a/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf +++ b/net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf @@ -1095,6 +1095,9 @@ defaults {% if OPNsense.HAProxy.general.defaults.init_addr|default("") != "" %} default-server init-addr {{OPNsense.HAProxy.general.defaults.init_addr}} {% endif %} +{% if OPNsense.HAProxy.general.defaults.maxConnectionsServers|default("") != "" %} + default-server maxconn {{OPNsense.HAProxy.general.defaults.maxConnectionsServers}} +{% endif %} {% if OPNsense.HAProxy.general.defaults.customOptions|default("") != "" %} # WARNING: pass through options below this line {% for customOpt in OPNsense.HAProxy.general.defaults.customOptions.split("\n") %} @@ -1725,6 +1728,8 @@ backend {{backend.name}} {# # add all additions from healthchecks here #} {% do server_options.append(healthcheck_additions|join(' ')) if healthcheck_additions.length != '0' %} {% endif %} +{# # server maxconn #} +{% do server_options.append('maxconn ' ~ server_data.maxConnections) if server_data.maxConnections|default("") != "" %} {# # server weight #} {% do server_options.append('weight ' ~ server_data.weight) if server_data.weight|default("") != "" %} {# # server role/mode #}