首页 > 解决方案 > 如何配置 MarkLogic 在启动备份并指向 S3 兼容对象存储期间发送 PUT 请求?

问题描述

我正在执行一个 curl POST 请求:

curl --anyauth --user xyz:xyz123 -i -X POST -d'{"operation": "backup-database","forest": ["a","a-r1","b-cg2","b-r1","c","c-r1"],"backup-dir": "s3://abc-marklogic/MLbackup","incremental": false,"journal-archiving": true,"journal-archive-path": "/MLbackup/rest/","include-replicas": "true","lag-limit": 30}' -H "Content-type: application/json" http://localhost.uhc.com:8002/manage/v2/databases/{db-name}

通过 S3 Compatible REST API 访问对象存储帐户。但它默认发送 GET 请求。

这是我得到的错误:

{"errorResponse":{"statusCode":"400", "status":"Bad Request", "messageCode":"MANAGE-OPERATION", "message":"MANAGE-OPERATION: (err:FOER0000) 执行操作时出错:S3 套接字错误:GET https://zyz.abc.mno.com/ SVC-SOCCONN:套接字连接错误:SSL_connect 10.86.52.125:56290-10.205.77.176:443:证书验证失败

标签: amazon-s3marklogicmarklogic-8

解决方案


这个特定的错误正是它所说的。您的“S3 兼容”对象存储未通过证书验证。ML 将使用 PUT 来写入文件,但似乎使用 GET 来获取目录列表,如果它是本地文件系统,它会这样做。

建议考虑备份到本地 FS,然后通过您无法与之交谈的任何工具复制到您的对象存储。


推荐阅读