@@ -457,6 +457,7 @@ func fillInGlobalACMEDefaults(issuer certmagic.Issuer, options map[string]any) e
457
457
globalACMEEAB := options ["acme_eab" ]
458
458
globalPreferredChains := options ["preferred_chains" ]
459
459
globalCertLifetime := options ["cert_lifetime" ]
460
+ globalHTTPPort , globalHTTPSPort := options ["http_port" ], options ["https_port" ]
460
461
461
462
if globalEmail != nil && acmeIssuer .Email == "" {
462
463
acmeIssuer .Email = globalEmail .(string )
@@ -480,7 +481,24 @@ func fillInGlobalACMEDefaults(issuer certmagic.Issuer, options map[string]any) e
480
481
if globalPreferredChains != nil && acmeIssuer .PreferredChains == nil {
481
482
acmeIssuer .PreferredChains = globalPreferredChains .(* caddytls.ChainPreference )
482
483
}
483
-
484
+ if globalHTTPPort != nil && (acmeIssuer .Challenges == nil || acmeIssuer .Challenges .HTTP == nil || acmeIssuer .Challenges .HTTP .AlternatePort == 0 ) {
485
+ if acmeIssuer .Challenges == nil {
486
+ acmeIssuer .Challenges = new (caddytls.ChallengesConfig )
487
+ }
488
+ if acmeIssuer .Challenges .HTTP == nil {
489
+ acmeIssuer .Challenges .HTTP = new (caddytls.HTTPChallengeConfig )
490
+ }
491
+ acmeIssuer .Challenges .HTTP .AlternatePort = globalHTTPPort .(int )
492
+ }
493
+ if globalHTTPSPort != nil && (acmeIssuer .Challenges == nil || acmeIssuer .Challenges .TLSALPN == nil || acmeIssuer .Challenges .TLSALPN .AlternatePort == 0 ) {
494
+ if acmeIssuer .Challenges == nil {
495
+ acmeIssuer .Challenges = new (caddytls.ChallengesConfig )
496
+ }
497
+ if acmeIssuer .Challenges .TLSALPN == nil {
498
+ acmeIssuer .Challenges .TLSALPN = new (caddytls.TLSALPNChallengeConfig )
499
+ }
500
+ acmeIssuer .Challenges .TLSALPN .AlternatePort = globalHTTPSPort .(int )
501
+ }
484
502
if globalCertLifetime != nil && acmeIssuer .CertificateLifetime == 0 {
485
503
acmeIssuer .CertificateLifetime = globalCertLifetime .(caddy.Duration )
486
504
}
0 commit comments