[pve-devel] [PATCH http-server 1/1] api server: proxy config: read MAX_WORKERS integer key
Friedrich Weber
f.weber at proxmox.com
Tue Jul 29 17:53:37 CEST 2025
On 29/07/2025 13:44, Thomas Lamprecht wrote:
> 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).
Good point, thanks, I added this in the v1:
https://lore.proxmox.com/pve-devel/20250729155227.157120-1-f.weber@proxmox.com/
>
> 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