Authentication CouchDB复制-未经授权访问或创建数据库
我正在尝试设置CouchDB数据库复制,但通过Futon和cURL/CLI这两种方法都不起作用:在这两种情况下都会出现以下错误消息: {“错误”:“未经授权”,“原因”:“未经授权访问或创建数据库表1”}Authentication CouchDB复制-未经授权访问或创建数据库,authentication,couchdb,replication,Authentication,Couchdb,Replication,我正在尝试设置CouchDB数据库复制,但通过Futon和cURL/CLI这两种方法都不起作用:在这两种情况下都会出现以下错误消息: {“错误”:“未经授权”,“原因”:“未经授权访问或创建数据库表1”} curl -X POST http://127.0.0.1:5984/_replicate -d '{"source": "table1", "user_ctx": {"name": "", "roles": ["admin"]}, "target": "http://username:
curl -X POST http://127.0.0.1:5984/_replicate -d '{"source": "table1",
"user_ctx": {"name": "", "roles": ["admin"]}, "target":
"http://username:password@server:5984/table1", "create_target": false,
"continuous": true}' -H "Content-Type: application/json"
目标数据库通过用户名和密码进行保护,对于HTTP基本身份验证,我添加了凭据,如您所见。当我通过Futon创建复制文档时,也会出现相同的错误
谢谢你的帮助。有点晚了,但我想你需要它 (CouchDb 1.6.1) POST/_复制HTTP/1.1
{
"source": {
"url":"https://example.net:5984/table1",
"headers":{
"Authorization":"Basic Ym9iQGV4YW1wbGUuY29tOnBhc3N3b3Jk"
}
},
"target":"target1",
"create_target": false,
"continuous": true
}
其中,单词“Basic”后面的base64字符串是以下内容的输出:
- echo-n'username:password'| base64(在
https://example.net:5984
- 非常重要:当您发送请求时,您会将其发送到一个url。目标还应该是您将在其中复制的数据库的名称“target”:“
“-->”表1http://server:5984/table1
- 用于发送此复制的请求标头也应包含基本令牌。(目标数据库的管理员用户名和密码或超级管理员密码)
- dXNlcm5hbWUyOnBhc3N3b3JkMg==:用户名2:密码2(base64)
- YM9IQGV4YW1WBGUY29TONBHC3N3B3JK:用户名:密码(base64)
- username2:password2:database target1的管理员名称和密码(在
)http://server:5984
- 用户名:密码:数据库target1的管理员名称和密码(on
)127.0.0.1:5984
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"