Базовая репликация 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