[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