[pve-devel] [PATCH http-server 1/1] api server: proxy config: read MAX_WORKERS integer key
Thomas Lamprecht
t.lamprecht at proxmox.com
Tue Jul 29 13:44:32 CEST 2025
Am 29.07.25 um 13:35 schrieb Friedrich Weber:
> Read the MAX_WORKERS value in /etc/default/<proxyname>. If it is not
> an integer, ignore and warn.
>
> Signed-off-by: Friedrich Weber <f.weber at proxmox.com>
> ---
> src/PVE/APIServer/Utils.pm | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/src/PVE/APIServer/Utils.pm b/src/PVE/APIServer/Utils.pm
> index 1430c98..f2c4892 100644
> --- a/src/PVE/APIServer/Utils.pm
> +++ b/src/PVE/APIServer/Utils.pm
> @@ -28,6 +28,7 @@ sub read_proxy_config {
> $shcmd .= 'echo \"DISABLE_TLS_1_3:\$DISABLE_TLS_1_3\";';
> $shcmd .= 'echo \"PROXY_REAL_IP_HEADER:\$PROXY_REAL_IP_HEADER\";';
> $shcmd .= 'echo \"PROXY_REAL_IP_ALLOW_FROM:\$PROXY_REAL_IP_ALLOW_FROM\";';
> + $shcmd .= 'echo \"MAX_WORKERS:\$MAX_WORKERS\";';
>
> my $data = -f $conffile ? `bash -c "$shcmd"` : '';
>
> @@ -77,6 +78,12 @@ sub read_proxy_config {
> push @$ips, Net::IP->new(normalize_v4_in_v6($ip)) || die Net::IP::Error() . "\n";
> }
> $res->{$key} = $ips;
> + } elsif ($key eq 'MAX_WORKERS') {
> + if ($value =~ /^\d+$/) {
> + $res->{$key} = int($value);
Could be great to do some basic range checks, like > 0 and < 128 (as not low, but
also not huge upper limit for starters).
FWIW, rest looks pretty straight forward and really not much extra code, so would
be fine for me to do it this way.
> + } else {
> + warn "MAX_WORKERS specified in $conffile is not an integer: $value\n";
> + }
> } elsif (grep { $key eq $_ } @$boolean_options) {
> die "unknown value '$value' - use 0 or 1\n" if $value !~ m/^(0|1)$/;
> $res->{$key} = $value;
More information about the pve-devel
mailing list