Как использовать репликацию 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
Ответ 2
Здесь также обсуждается вопрос о включении https-соединения между CouchBase Mobile для iOS и другим экземпляром CouchDB/CouchBase: https://groups.google.com/d/msg/mobile-couchbase/DDHSisVWEyo/hxtlVRhQtwkJ
По-видимому, это можно сделать.
Ответ 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 или что-то в этом роде?