无法使用 DHF 5.2.1 部署到应用服务器上的 SSL

Cannot deploy to SSL on app server with DHF 5.2.1

在我们的环境中,我们有一个自签名证书模板,端口 8000、8001、8002 上的应用程序服务器以及我们的应用程序应用程序服务器正在使用该模板。我们正在使用 DHF 5.2.1。

当我们尝试部署时,它成功部署了数据库、应用程序服务器等。端口 8000 或 8002 上的任何内容都可以正常工作。但是,当它尝试使用我们应用程序的最终或暂存端口时,它会失败(下面的错误消息)。

gradle.properties 文件包括以下内容:

mlSimpleSsl=true
mlRestAuthentication=basic

应用服务器正在使用具有内部安全性的基本身份验证。我们看到两个错误(有时是一个,有时是另一个)。

* What went wrong:
Execution failed for task ':mlLoadModules'.
> Caught exception before writing was completed: java.net.SocketException: Connection reset by peer

* What went wrong:
Execution failed for task ':mlLoadModules'.
> Caught exception before writing was completed: java.net.SocketException: Connection reset by peer

这里 mlSimpleSsl 就足够了吗?

您需要额外的属性才能在这些 AppServer 上设置 TLS

mlStagingSimpleSsl=true
mlStagingAuth=basic

mlFinalSimpleSsl
mlFinalAuth=basic

https://docs.marklogic.com/datahub/5.2/tools/gradle/gradle-properties.html

ml-data-hub 不支持 mlSimpleSsl,因此它的运行方式与 ml-gradle 略有不同,您根本不需要使用 属性;相反,您需要添加(或者它们可能已经出现在 gradle.properties commented-out 中)并设置以下属性:

mlManageSimpleSsl=true
mlManageScheme=https
mlAdminSimpleSsl=true
mlAdminScheme=https
mlAppServicesSimpleSsl=true

以及以下内容,尽管您可能希望将它们添加到您的 environment-specific 属性文件中:

mlJobAuth=basic
mlJobSimpleSsl=true

mlFinalAuth=basic
mlFinalSimpleSsl=true

mlStagingAuth=basic
mlStagingSimpleSsl=true

您很可能还需要在这些应用服务器上将身份验证更改为“基本”。