我正在尝试设置CouchDB数据库复制,但两者都无法通过Futon和cURL / CLI工作:在两种情况下都会出现以下错误消息:
{&#34;错误&#34;:&#34;未经授权&#34;,&#34;原因&#34;:&#34;未经授权访问或创建数据库table1&#34;} < /强>
^@
目标数据库通过用户名和密码进行保护,对于HTTP基本身份验证,我添加了凭据,如您所见。当我通过Futon创建复制文档时出现相同的错误。
感谢您的帮助。
答案 0 :(得分:5)
现在有点迟了但我认为你需要它。
(CouchDb 1.6.1)
https://wiki.apache.org/couchdb/Replication
POST / _replicate HTTP / 1.1
{
"source": {
"url":"https://example.net:5984/table1",
"headers":{
"Authorization":"Basic Ym9iQGV4YW1wbGUuY29tOnBhc3N3b3Jk"
}
},
"target":"target1",
"create_target": false,
"continuous": true
}
其中“Basic”后面的base64字符串是输出:
https://example.net:5984
中数据库table1的用户名和密码。http://server:5984/table1
” - &gt;&gt;表1 curl -X POST http://127.0.0.1:5984/_replicate
-d '{
"source": {
"url":"https://example.net:5984/table1",
"headers":{
"Authorization":"Basic Ym9iQGV4YW1wbGUuY29tOnBhc3N3b3Jk"
}
},
"target":"target1",
"create_target": false,
"continuous": true
}' -H "Authorization: Basic dXNlcm5hbWUyOnBhc3N3b3JkMg==;Content-Type: application/json"
Ym9iQGV4YW1wbGUuY29tOnBhc3N3b3Jk:用户名:密码(base64)
username2:password2:数据库target1的管理员名称和密码(在http://server:5984
上)
127.0.0.1:5984
上)