Update: Ich habe es funktioniert jetzt. Durch die Antwort von Jim Zajkowski konnte ich feststellen, dass meine /etc/init.d/couchdb-Neustartaufrufe die Instanz nicht neu starteten. Nachdem ich die CouchDB-Prozesse manuell beendet und eine neue Instanz gestartet habe, hat sie die erforderliche BindAddress-Änderung übernommen.
Ich habe CouchDB über installiert
aptitude installiere couchdb
Von meinem Server aus kann ich eine Verbindung über herstellen
telnet localhost 5984
und führen Sie RESTful-Befehle aus. Wenn ich versuche, von einem anderen Computer in unserem Netzwerk oder von einem Computer außerhalb unseres Netzwerks auf den Server zuzugreifen, wird der Fehler " Die Verbindung wurde zurückgesetzt" angezeigt. Ich habe die Portweiterleitung auf dem Router eingerichtet und der Server ist ansonsten über Apache, Tomcat, SSH usw. erreichbar.
Ich bin neu in Linux / Ubuntu, daher war ich mir nicht sicher, ob eine Standard-Firewall die Verbindung blockiert. Deshalb habe ich Folgendes ausgeführt:
iptables -A INPUT -p tcp --dport 5984 -j ACCEPT
aber es hat nicht geholfen.
Hier ist der Speicherauszug von 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
Ich gehe davon aus, dass die für 5984 übertragenen Bytes auf meine localhost-Verbindung zurückzuführen sind.
Hier ist der Dump von netstat -an | grep 5984
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN
Ich konfigurierte couch.ini „BindAddress = 0.0.0.0“ und neu gestartet, so dass es sollte auf allen Schnittstellen lauschen. Wenn ich "sudo /etc/init.d/couchdb stop" und dann "netstat" ausführe, wird der obige Eintrag weiterhin angezeigt. Es sieht so aus, als würde CouchDB überhaupt nicht anhalten. Dies kann mein Problem erklären, da es bedeuten kann, dass CouchDB nie neu gestartet wurde und die BindAddress-Änderung nie übernommen hat.
Ich habe den CouchDB-Prozess manuell beendet und erneut gestartet. Nun zeigt 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
Ich kann mich trotzdem nicht verbinden, auch nicht von einem anderen Rechner im LAN.