mirror of
https://github.com/taylanbakircioglu/haproxy-openmanager.git
synced 2026-09-18 08:35:28 +00:00
7492d85649
CRITICAL BUG FIX: Only 1 SSL cert matched instead of 3 for public_ssl ROOT CAUSE: - Parser only stored first cert path (ssl_cert_path) - Bulk import SSL matching only checked single path - ssl_certificate_ids = [2] (should be [2,3,4] for 3 certs) - ssl_alpn = NULL (should be 'h2,http/1.1') SOLUTION: 1. Added ssl_cert_paths List[str] to ParsedFrontend 2. Parser now stores ALL cert paths from bind directive 3. Bulk import loops through all cert paths for matching 4. SSL advanced options (alpn, npn, ciphers, etc.) included in frontends_data EXAMPLE BIND DIRECTIVE: bind 0.0.0.0:8443 ssl crt /etc/ssl/certs/example-cert1.pem crt /etc/ssl/certs/demo-cluster-cert.pem crt /etc/ssl/certs/example-cert3.pem alpn h2,http/1.1 BEFORE: - ssl_certificate_ids: [2] (only first cert) - ssl_alpn: NULL (not passed to bulk import) AFTER: - ssl_certificate_ids: [2, 3, 4] (all 3 certs matched) - ssl_alpn: 'h2,http/1.1' (parsed & stored) IMPACT: - Multi-SSL frontends correctly imported - SSL advanced params preserved & editable in UI - SNI-based routing works correctly - HTTP/2 ALPN negotiation preserved TESTING: - Parser: 3 crt paths → ssl_cert_paths = [path1, path2, path3] - Matching: 3 paths → 3 IDs (if all SYNCED) - Database: ssl_certificate_ids JSONB = [2,3,4] Ref: demo-cluster public_ssl frontend issue