Как использовать репликацию HTTPS с помощью iOS Couchbase Mobile?

Я использую iOS Couchbase Mobile, чтобы иметь сервер couchdb на iPad, который использует репликацию для синхронизации с сервером на https://cloudant.com. cloudant использует HTTPS, и когда я пытаюсь воспроизвести на iPad, я просто получаю спам от ошибок.

Это известная проблема, как показано на этой статье часто задаваемых вопросов. Он рекомендует использовать 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"}

(По какой-то причине он говорит, что я использую 2.0.0-бета на iOS, хотя я загрузил эту версию (2.0.1).)

Вот вид ошибки, которую я получаю:

[info] [<0.327.0>] Retrying HEAD request to https://user:[email protected]/mydb/ in 16.0 seconds due to error {'EXIT',
{no_ssl_server,
    {gen_server,call,
        [<0.347.0>,
         {send_req,
             {{url,
                  "https://user:[email protected]/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]}}}

Ответ 1

Я нашел " ночная сборка, которая обеспечивает поддержку SSL в CouchBase Mobile для iOS, но она никогда не была QA'd, и это никогда не выпускались в" стабильной сборке ". Я связался с кем-то, кто работал на Couchbase Mobile для iOS, и он сказал мне, что вместо " nofollow" > TouchDB

Ответ 3

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 CouchDB и CouchBase - это совершенно разные продукты баз данных (оба используют платформу Erlang), и кажется, что вы используете их взаимозаменяемо. Может быть, проблема в том, что вы пытаетесь подключиться к CouchDB с клиентом CouchBase или что-то в этом роде?