Базовая репликация CouchDB локально-удаленно

Я играю с CouchDB Replication и мне интересно, как скопировать локальную базу данных с именем "myDatabase" в удаленную базу данных на www.mySite.com, для которой требуется ssh-доступ, и переименовать ее в "myRemoteDatabase". Как я могу это сделать?

Я могу войти на локальный и удаленный серверы и запустить:

curl -X GET http://localhost:5984/

... и он покажет мне результат, но когда я нахожусь на моем локальном компьютере, и я запускаю:

curl -X GET http://my.ip.address:5984/

... или даже

curl -X GET http://USER:PASSWORD@my.ip.address:5984/

Я получил:

curl: (7) не удалось подключиться к хосту

Чего мне не хватает на этой картинке?

2 ответа

Решение

Учитывая предоставленные вами данные, это может быть только одно.

Вы настроили CouchDB для прослушивания на интерфейсе localhost, а не на другом. Я не знаю, как настроен CouchDB, но это будет какой-то вариант привязки к 127.0.0.1 или (в мире IPv6) ::1, Многие конфигурации делают это по умолчанию, так как это довольно безопасно. Это не разрешит доступ любому хосту, кроме localhost.

Одна возможность, о которой я думал, состоит в том, что на двух машинах установлены брандмауэры, которые не разрешают соединения из внешнего мира с портом 5984. Но почти ни один брандмауэр не защищает компьютер от доступа к себе. Они могут, но почти никогда не делают.

sudo vi /etc/couchdb/default.ini

В разделе [httpd] измените

bind_address = 127.0.0.1

на IP этого сервера, то:

sudo service couchdb restart
Другие вопросы по тегам