diff --git a/system/config/Config.cfc b/system/config/Config.cfc index 13d7e0efe2..12bb327821 100644 --- a/system/config/Config.cfc +++ b/system/config/Config.cfc @@ -340,6 +340,7 @@ component { , adminCsrfProtection = { enabled=true , siteTemplates=[ "*" ] } , fullPageCaching = { enabled=false, siteTemplates=[ "*" ] } , healthchecks = { enabled=true , siteTemplates=[ "*" ] } + , sslInternalHttpCalls = { enabled=_luceeGreaterThanFour(), siteTemplates=[ "*" ] } , "devtools.reload" = { enabled=true , siteTemplates=[ "*" ], widgets=[] } , "devtools.cache" = { enabled=true , siteTemplates=[ "*" ], widgets=[] } , "devtools.extension" = { enabled=true , siteTemplates=[ "*" ], widgets=[] } @@ -788,4 +789,11 @@ component { return "3.8.2"; } + + private boolean function _luceeGreaterThanFour() { + var luceeVersion = server.lucee.version ?: ""; + var major = Val( ListFirst( luceeVersion, "." ) ); + + return major > 4; + } } diff --git a/system/services/concurrency/AbstractHeartBeat.cfc b/system/services/concurrency/AbstractHeartBeat.cfc index 67f058a132..c149564b02 100644 --- a/system/services/concurrency/AbstractHeartBeat.cfc +++ b/system/services/concurrency/AbstractHeartBeat.cfc @@ -103,6 +103,16 @@ component { theThread.setName( "PresideAdhocTaskManagerHeartBeat" ); } + private string function _buildInternalLink() { + var link = $getRequestContext().buildLink( argumentCollection=arguments ); + + if ( link.reFindNoCase( "^https" ) && !$isFeatureEnabled( "sslInternalHttpCalls" ) ) { + return link.reReplaceNoCase( "^https", "http" ); + } + + return link; + } + // GETTERS / SETTERS private string function _getThreadName() { return _threadName; diff --git a/system/services/concurrency/HealthcheckHeartBeat.cfc b/system/services/concurrency/HealthcheckHeartBeat.cfc index 9588409798..e064c0b667 100644 --- a/system/services/concurrency/HealthcheckHeartBeat.cfc +++ b/system/services/concurrency/HealthcheckHeartBeat.cfc @@ -45,7 +45,7 @@ component extends="AbstractHeartBeat" { } public void function startInNewRequest() { - var startUrl = $getRequestContext().buildLink( linkTo="taskmanager.runtasks.startHealthCheckHeartbeat" ); + var startUrl = _buildInternalLink( linkTo="taskmanager.runtasks.startHealthCheckHeartbeat" ); thread name=CreateUUId() startUrl=startUrl { do { diff --git a/system/services/concurrency/PresideAdhocTaskHeartBeat.cfc b/system/services/concurrency/PresideAdhocTaskHeartBeat.cfc index fbc42c98dd..f650353a3f 100644 --- a/system/services/concurrency/PresideAdhocTaskHeartBeat.cfc +++ b/system/services/concurrency/PresideAdhocTaskHeartBeat.cfc @@ -32,7 +32,7 @@ component extends="AbstractHeartBeat" { } public void function startInNewRequest() { - var startUrl = $getRequestContext().buildLink( linkTo="taskmanager.runtasks.startAdhocTaskManagerHeartbeat" ); + var startUrl = _buildInternalLink( linkTo="taskmanager.runtasks.startAdhocTaskManagerHeartbeat" ); thread name=CreateUUId() startUrl=startUrl { var attemptLimit = 10; diff --git a/system/services/concurrency/PresideEmailQueueHeartBeat.cfc b/system/services/concurrency/PresideEmailQueueHeartBeat.cfc index 015c005a73..b43eb6c20d 100644 --- a/system/services/concurrency/PresideEmailQueueHeartBeat.cfc +++ b/system/services/concurrency/PresideEmailQueueHeartBeat.cfc @@ -42,7 +42,7 @@ component extends="AbstractHeartBeat" { } public void function startInNewRequest() { - var startUrl = $getRequestContext().buildLink( linkTo="taskmanager.runtasks.startEmailQueueHeartbeat" ); + var startUrl = _buildInternalLink( linkTo="taskmanager.runtasks.startEmailQueueHeartbeat" ); thread name=CreateUUId() startUrl=startUrl { var attemptLimit = 10; diff --git a/system/services/concurrency/PresideTaskmanagerHeartBeat.cfc b/system/services/concurrency/PresideTaskmanagerHeartBeat.cfc index a883758be8..8aab64a557 100644 --- a/system/services/concurrency/PresideTaskmanagerHeartBeat.cfc +++ b/system/services/concurrency/PresideTaskmanagerHeartBeat.cfc @@ -38,7 +38,7 @@ component extends="AbstractHeartBeat" { } public void function startInNewRequest() { - var startUrl = $getRequestContext().buildLink( linkTo="taskmanager.runtasks.startTaskManagerHeartbeat" ); + var startUrl = _buildInternalLink( linkTo="taskmanager.runtasks.startTaskManagerHeartbeat" ); thread name=CreateUUId() startUrl=startUrl { var attemptLimit = 10;