[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:50:55 CEST 2025
Read the MAX_WORKERS value in /etc/default/<proxyname>. If it is not
an integer between 0 and 128, ignore and warn.
The lower limit was chosen because at least one worker process must
exist. The upper limit was chosen because more than 127 worker
processes should not be necessary and a positive impact on performance
is doubtful. If this limit turns out to be too low, it can still be
extended in the future.
Signed-off-by: Friedrich Weber <f.weber at proxmox.com>
---
Notes:
changes since rfc:
- add lower and upper limit (thx Thomas!)
src/PVE/APIServer/Utils.pm | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/PVE/APIServer/Utils.pm b/src/PVE/APIServer/Utils.pm
index 1430c98..4cceb71 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,13 @@ 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+$/ && $value > 0 && $value < 128) {
+ $res->{$key} = int($value);
+ } else {
+ warn "MAX_WORKERS specified in $conffile is not an integer between"
+ ." 0 and 128: $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;
--
2.47.2
More information about the pve-devel
mailing list