MarkLogic :在启用 SSL 的情况下部署数据中心(使用 gradle)时出错



我正在使用 MarkLogic 版本 9.0-3.1(免费社区版)和 gradle 使用命令 'gradle mldeploy -i' 部署数据中心。在部署之前,我在管理控制台中创建了一个"证书模板"。

下面是我的 gradle 属性文件。我打算在端口 8010(数据中心暂存)和 8011(数据中心最终)上启用 sl。


mlAppName=data-hub
mlHost=localhost
mlUsername=xxxxx
mlPassword=xxxxx
mlStagingAuth=basic
mlFinalAuth=basic
mlAppServicesAuthentication=basic
mlTestRestPort=8015
mlTestRestServerName=data-hub-TEST
mlStagingAppserverName=data-hub-STAGING
mlStagingPort=8010
mlStagingDbName=data-hub-STAGING
mlStagingForestsPerHost=4
mlStagingAuth=digest
# To enable SSL for staging
mlStagingSimpleSsl=true
mlFinalAppserverName=data-hub-FINAL
mlFinalPort=8011
mlFinalDbName=data-hub-FINAL
mlFinalForestsPerHost=4
mlFinalAuth=digest
# To enable SSL for final
mlFinalSimpleSsl=true
mlTraceAppserverName=data-hub-TRACING
mlTracePort=8012
mlTraceDbName=data-hub-TRACING
mlTraceForestsPerHost=1
mlTraceAuth=digest
mlJobAppserverName=data-hub-JOBS
mlJobPort=8013
mlJobDbName=data-hub-JOBS
mlJobForestsPerHost=1
mlJobAuth=digest
mlModulesDbName=data-hub-MODULES
mlModulesForestsPerHost=1
mlTriggersDbName=data-hub-TRIGGERS
mlTriggersForestsPerHost=1
mlSchemasDbName=data-hub-SCHEMAS
mlSchemasForestsPerHost=1
# The name of the Role to create for Hub Access
mlHubUserRole=data-hub-role
mlHubUserName=data-hub-user
# this password is autogenerated for you via the 'gradle hubInit' task
mlHubUserPassword=xxxxxxx

下面是数据中心暂存服务器的用户配置服务器属性文件的属性。data-hub-FINAL的属性非常相似。


{
"server-name": "%%mlStagingAppserverName%%",
"server-type": "http",
"root": "/",
"group-name": "%%GROUP%%",
"port": "%%mlStagingPort%%",
"modules-database": "%%mlModulesDbName%%",
"content-database": "%%mlStagingDbName%%",
"authentication": "%%mlStagingAuth%%",
"default-error-format": "json",
"error-handler": "/MarkLogic/rest-api/error-handler.xqy",
"url-rewriter": "/MarkLogic/rest-api/rewriter.xml",
"rewrite-resolves-globally": true,
"ssl-allow-sslv3" : true,
"ssl-allow-tls" : true,
"ssl-disable-sslv3" : false,
"ssl-disable-tlsv1" : false,
"ssl-disable-tlsv1-1" : false,
"ssl-disable-tlsv1-2" : false,
"ssl-ciphers" : "ALL:!LOW:@STRENGTH",
"ssl-require-client-certificate" : false,
"ssl-hostname" : "localhost",
"ssl-certificate-template" : "https certificate"
}

我确认 mlUsername 在服务器上具有管理员访问权限,并且我通过 mlPassword 传递了正确的值,但仍然出现以下错误。


23:00:32.864 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] 目标身份验证状态:已挑战 23:00:32.864 [DEBUG] [org.apache.http.impl.auth.HttpAuthenticator] 生成对身份验证质询的响应 ING 摘要方案 23:00:32.864 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] 代理身份验证状态:未受挑战 23:00:32.927 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] 连接可以保持活动状态 5000 毫秒 23:00:32.927 [调试] [org.apache.http.impl.auth.HttpAuthenticator] 身份验证成功 23:00:32.927 [DEBUG] [org.apache.http.impl.client.TargetAuthenticationStrategy] 缓存用于 http://的"摘要"身份验证方案 本地主机:8002 23:00:32.927 [DEBUG] [org.springframework.web.client.RestTemplate] GET 请求 "http://localhost:8002/manage/v2/serv ers/Manage/properties?group-id=Default"结果为 200(正常) 23:00:32.927 [DEBUG] [org.springframework.web.client.RestTemplate] 将 [java.lang.String] 读作 "application/xml;charse t=UTF-8" 使用 [org.springframework.http.converter.StringHttpMessageConverter@1ec08b7] 23:00:32.927 [DEBUG] [org.apache.http.impl.conn.PoolingHttpClientConnectionManager] Connection [id: 1][route: {}->http://本地主机:8002] 可以保持活动状态 5.0 秒 23:00:32.927 [DEBUG] [org.apache.http.impl.conn.PoolingHttpClientConnectionManager] 连接发布: [id: 1][路由: {}->http://localhost:8002][保持活动总数:1;分配的路线:1/2;分配总数:1/20] 23:00:32.927 [DEBUG] [com.marklogic.client.impl.OkHttpServices] 以管理员身份连接到 8000 的本地主机 23:00:32.927 [DEBUG] [com.marklogic.client.impl.OkHttpServices] 以管理员身份连接到 8010 的本地主机 23:00:32.927 [DEBUG] [com.marklogic.client.impl.OkHttpServices] Posting eval 23:00:32.927 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter] 已删除的任务工件 上下文中 {} 的 t 状态。 23:00:32.927 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] 已完成执行任务 ':h ub预安装检查' 23:00:32.927 [生命周期] [class org.gradle.internal.buildevents.TaskExecutionLogger] :hubPreInstallCheck FAILED 23:00:32.927 [INFO] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] :hubPreInstallCheck (Thread[Daemon worker 线程 2,5,主]) 完成。花了 2.544 秒。 23:00:32.927 [调试] [org.gradle.internal.operations.DefaultBuildOperationWorkerRegistry] Worker root.1 已完成(0 in 使用) 23:00:32.943 [DEBUG] [org.gradle.execution.taskgraph.AbstractTaskPlanExecutor] Task worker [Thread[Daemon worker Thread 2,5,main]] 已完成,忙:2.544 秒,空闲:0.004 秒 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 失败:生成失败,出现异常。 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] * 出了什么问题: 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 任务 ':hubPreInstallC 的执行失败 哎呀'。 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter]> 本地消息:无法应用资源 在 eval:未经授权。服务器消息:未经授权 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] * 尝试: 23:00:32.943 [错误] [org.gradle.internal.buildevents.BuildExceptionReporter] 使用 --stacktrace 选项运行以获取 st 咳咳痕迹。 23:00:32.943 [生命周期] [org.gradle.internal.buildevents.BuildResultLogger] 23:00:32.943 [生命周期] [org.gradle.internal.buildevents.BuildResultLogger] 构建失败 23:00:32.943 [生命周期] [org.gradle.internal.buildevents.BuildResultLogger] 23:00:32.943 [生命周期] [org.gradle.internal.buildevents.BuildResultLogger] 总时间:5.445 秒 23:00:32.943 [DEBUG] [org.gradle.cache.internal.LockOnDemandCrossProcessCacheAccess] 释放任务 histor 的文件锁定 y cache (G:\Data-Hub\EODH.gradle\3.4\taskHistory)


除非您手动重新配置 8000 端口以将身份验证切换到非默认的基本身份验证,否则您的问题很可能是您需要将mlAppServicesAuthentication设置为摘要而不是基本。

此外,您在 gradle 属性的顶部声明了许多基本身份验证,然后稍后将它们重新声明为摘要。我建议修复它,以便更容易理解属性实际设置的内容。

最新更新