如何在iOS Couchbase Mobile上使用HTTPS复制?

时间:2012-05-09 17:52:22

标签: ios https erlang couchdb couchbase

我正在使用iOS Couchbase Mobile在iPad上安装couchdb服务器,该服务器使用复制与https://cloudant.com上的服务器同步。 cloudant使用HTTPS,当我尝试在iPad上复制时,我只是因为错误而被垃圾邮件发送。

这是一个已知问题,如this FAQ article所示。它建议使用1.0.2来解决问题,但我怎么知道我是否在Erlang R14上运行它?

版本信息

  • 在myserver.cloudant.com上:{"couchdb":"Welcome","version":"1.0.2","cloudant_build":"1.3.49"}
  • 在iOS Couchbase Mobile上:{"couchdb":"Welcome","version":"2.0.0-beta"}

(出于某种原因,它说我在iOS上使用2.0.0-beta,即使我下载了this version (2.0.1)。)

这是我得到的那种错误:

[info] [<0.327.0>] Retrying HEAD request to https://user:password@mycompany.cloudant.com/mydb/ in 16.0 seconds due to error {'EXIT',
{no_ssl_server,
    {gen_server,call,
        [<0.347.0>,
         {send_req,
             {{url,
                  "https://user:password@mycompany.cloudant.com/mydb/",
                  "mycompany.cloudant.com",443,"mycompany","password",
                  "/mydb/",https,hostname},
              [{"Accept","application/json"},
               {"User-Agent","CouchDB/2.0.0-beta"}],
              head,<<>>,
              [{response_format,binary},
               {inactivity_timeout,30000},
               {is_ssl,true},
               {socket_options,[{keepalive,true},{nodelay,false}]},
               {ssl_options,[{depth,3},{verify,verify_none}]}],
              infinity}},
         infinity]}}}

3 个答案:

答案 0 :(得分:3)

此处还讨论了在CouchBase Mobile for iOS和另一个CouchDB / CouchBase实例之间启用https连接的问题:https://groups.google.com/d/msg/mobile-couchbase/DDHSisVWEyo/hxtlVRhQtwkJ

显然可以做到。

答案 1 :(得分:2)

我发现了一个“nightly build”,可以在CouchBase Mobile for iOS中启用SSL支持,但它从未进行过QA,并且它从未在“稳定版本”中发布。我联系了一位正在使用Couchbase Mobile for iOS的人,他告诉我应该使用TouchDB代替。

答案 2 :(得分:0)

CouchDB在其服务器响应标头中提供有关当前Erlang版本的信息,如下所示:

HTTP/1.1 200 OK
Server: CouchDB/1.0.1 (Erlang OTP/R13B)  <----------------------
Date: Fri, 05 Nov 2010 14:57:16 GMT
Content-Type: text/plain;charset=utf-8

由于错误消息显示它无法找到HTTPS服务器,您可能希望通过普通HTTP进行检查。

BTW CouchDBCouchBase是完全不同的数据库产品(均使用Erlang平台),您似乎可以互换使用它们。也许问题是你试图用CouchBase客户端或类似的东西连接到CouchDB?