How to enable HTTP/2 on secondary domain vhosts in CyberPanel without GUI reset

Root Cause Diagnosis When secondary domains or child vhosts are created in CyberPanel, OpenLiteSpeed/LiteSpeed Web Server (OLS/LSWS) inherits virtual host listener bindings that often lack explicit HTTP/2 protocol declarations or ALPN (Application-Layer Protocol Negotiation) flags. Updating virtual host parameters or toggling SSL via the CyberPanel GUI regularly overwrites custom vhost settings back to default templates, … Read more

aaPanel Docker manager bridge network conflicting with local host IP subnets

Root Cause Diagnosis When aaPanel initializes its Docker Manager plugin, Docker automatically assigns default IP subnets (typically 172.17.0.0/16 or sequentially picked 172.X.0.0/16 blocks) to the default bridge interface (docker0) and custom panel-managed networks. If these automatically generated CIDR pools overlap with existing local host interfaces, LAN ranges, or VPN subnets, the host’s routing table prioritizes … Read more

Fix: Apache graceful restart failing due to lingering defunct workers

Root Cause Diagnosis An Apache graceful restart (apachectl graceful or systemctl reload apache2) sends a SIGWINCH signal instructing parent and worker processes to finish active requests before exiting. When worker threads are blocked on non-interruptible I/O operations, deadlocked database connections, or unmanaged C-extension subprocesses (e.g., PHP extensions or mod_wsgi threads), they ignore the graceful shutdown … Read more

Resolving CyberPanel blank login screen after MariaDB package upgrade

Root Cause Diagnosis When MariaDB is upgraded on a CyberPanel server, package updates frequently replace shared C client libraries (such as libmariadb.so or libmariadb3) or change default socket paths and strict SQL modes. CyberPanel’s underlying Python/Django environment relies on these specific database bindings and database schema compatibility to render the login framework. As a result, … Read more

Nginx proxy_pass stripping Authorization bearer header: Fix and config syntax

Root Cause Diagnosis Nginx strips or fails to forward the Authorization header during a proxy_pass request when the header contains non-standard characters, when underscores_in_headers is disabled, or most commonly, when multi-tier proxy/rewrite rules clear header buffers. Additionally, if the downstream application expects lowercase header handling or Nginx is configured to drop unhandled headers during subrequests … Read more

Resolving MySQL error 1040 too many connections on 1GB VPS aaPanel setup

MySQL Error 1040 occurs when the active client connection count reaches the max_connections limit set in the MySQL/MariaDB configuration. On a 1GB RAM Virtual Private Server (VPS) managed by aaPanel, this typically happens because default MySQL settings allocate more concurrent connection slots than the server’s physical memory can sustain, or persistent web application connections exhaust … Read more

How to unban IP locked out by aaPanel Fail2ban via SSH terminal commands

The aaPanel Fail2ban plugin automatically monitors log files (such as SSH, FTP, and aaPanel login logs) and inserts netfilter rules into iptables or nftables when a threshold of failed authentication attempts is exceeded. When an administrator is locked out, Fail2ban has written an active drop/reject rule for the client’s public IP into a specific jail … Read more

Setting up strict Let’s Encrypt renewal with Cloudflare API token without global key

Using a Cloudflare Global API Key for Let’s Encrypt automated DNS-01 challenges exposes full administrative control over all domains in an account, violating the principle of least privilege. Certbot and Certbot Cloudflare DNS plugins require specifically scoped API tokens with restricted permissions (Zone.DNS:Edit and Zone.Zone:Read) restricted to designated target zones. Authentication failures during automated certificate … Read more

Bind9 DNS service failing to start after zone record edit in CyberPanel

The Bind9 (Named) DNS service fails to start after modifying zone records in CyberPanel because the underlying zone file syntax was corrupted during the write operation or CyberPanel generated an invalid configuration structure. Bind9 performs strict semantic and syntactic checks on both /etc/named.conf (or /etc/bind/named.conf) and individual zone files during startup, immediately aborting the process … Read more

Fixing LiteSpeed OpenLiteSpeed cache crawler 403 Forbidden loop

The OpenLiteSpeed and LiteSpeed Web Server (LSWS) cache crawler encounters a 403 Forbidden loop when the crawler’s automated user-agent triggers internal security throttling, IP access restrictions, or ModSecurity/WAF rules. Because the crawler originates locally or from a configured system loopback IP while sending rapid HTTP/HTTPS requests, default security policies misidentify the process as a Layer … Read more