Использование CouchDB Pull репликации с сервера только для чтения - PullRequest
2 голосов
/ 29 ноября 2011

У меня есть сервер CouchDB, работающий за внешним прокси-сервером, который разрешает только запросы GET, HEAD и OPTIONS.POST, PUT и DELETE запрещены.

Когда я настраиваю репликацию на локальном компьютере для извлечения из удаленного сервера, он работает нормально, пока не достигнет конца, когда попытаетсяPOST до /_ensure_full_commit.Это возвращает ответ 401 Unauthorized, вызывает сбой репликации и перезапускается в начале.

Можно ли запретить репликации CouchDB вызывать /_ensure_full_commit или мне нужно изменить конфигурацию внешнего прокси-сервера, чтобы разрешить POST с на этот URL?

1 Ответ

1 голос
/ 15 декабря 2011

Похоже, что код репликатора просто всегда пытается зафиксировать ОБА серверы в рамках процесса проверки точки репликации: https://github.com/apache/couchdb/blob/master/src/couch_replicator/src/couch_replicator.erl#L695

Так что на данный момент самым быстрым решением было бы подделать ответ "успех" вуровень прокси или просто пропустите этот запрос, тем более что никто из нас не знает, «это необходимо» или нет.

Но я также настоятельно рекомендую вам спросить в списке рассылки и / или файлеошибка по этому поводу - кажется странным, что вы не можете выполнить репликацию по запросу, используя только запросы GET.

Обновление : только что вспомнилось, что репликатор репликации довольно существенныйкод, который недавно попал в ветку разработки, поэтому еще один способ - сначала попробовать новый репликатор в 1.2 !

...