Обновление: у меня это работает сейчас. Ответ Джима Зайковски помог мне обнаружить, что мои вызовы перезагрузки /etc/init.d/couchdb фактически не перезагружали экземпляр. После того, как я вручную убил процессы CouchDB и запустил новый экземпляр, он выбрал необходимое изменение BindAddress.
Я установил CouchDB через
aptitude установить couchdb
С моего сервера я могу подключиться через
telnet localhost 5984
и выполнить команды RESTful. Когда я пытаюсь получить доступ к серверу с другого компьютера в нашей сети или с компьютера, находящегося за пределами нашей сети, я получаю сообщение об ошибке сброса соединения . Я настроил переадресацию портов на маршрутизаторе, и в противном случае сервер доступен через Apache, Tomcat, SSH и т. Д.
Я новичок в Linux / Ubuntu, поэтому я не был уверен, был ли брандмауэр по умолчанию, блокирующий соединение, поэтому я запустил:
iptables -A INPUT -p tcp --dport 5984 -j ПРИНЯТЬ
но это не помогло
Вот дамп от запуска iptables -L -n -v
Chain INPUT (policy ACCEPT 2121K packets, 1319M bytes)
pkts bytes target prot opt in out source destination
70 3864 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5984
9 1647 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 1708K packets, 1136M bytes)
pkts bytes target prot opt in out source destination
Я предполагаю, что байты, показанные как переданные для 5984, происходят из-за моего локального соединения.
Вот дамп из запущенного netstat -an | grep 5984
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
Я настроил файл couch.ini на «BindAddress = 0.0.0.0» и перезагрузил его, поэтому должен прослушивать все интерфейсы. Когда я запускаю «sudo /etc/init.d/couchdb stop», а затем запускаю netstat, я все равно вижу приведенную выше запись. Похоже, что CouchDB на самом деле не останавливается вообще. Это может объяснить мою проблему, потому что это может означать, что CouchDB фактически никогда не перезагружался и никогда не получал изменение BindAddress.
Я вручную убил процесс CouchDB и снова запустил его. Теперь netstat показывает:
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5984 127.0.0.1:35366 TIME_WAIT
Я все еще не могу подключиться, даже с другой машины в локальной сети.