27 votos

¿Por qué no puedo acceder a mi instancia de CouchDB externamente en Ubuntu 9.04 server?

Actualización: yo tengo trabajo ahora. Jim Zajkowski la respuesta me ayudó a detectar que mi /etc/init.d/couchdb reiniciar llama en realidad no estaban de reiniciar la instancia. Después de que me manualmente mató a la CouchDB procesos y comenzó una nueva instancia, se recogió la necesaria BindAddress cambio.

He instalado CouchDB a través de

aptitude install couchdb

Desde mi servidor, me puedo conectar a través de

telnet localhost 5984

y ejecutar el Reparador de comandos. Cuando intento acceder al servidor desde otra máquina en la red, o desde una máquina externa de nuestra red, me sale un restableció La conexión de error. He configurado el reenvío de puertos en el router, y el servidor es accesible a través de Apache, Tomcat, SSH, etc.

Soy nuevo en Linux/Ubuntu, así que no estaba seguro de si había un defecto del firewall bloqueando la conexión, por lo que me encontré:

iptables-a INPUT-p tcp --dport 5984-j ACCEPT

pero no ayuda.

Aquí está el vertedero de la ejecución 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

Supongo que los bytes que muestra como transferir para 5984 son debido a mi conexión de localhost.

Aquí está el vertedero de ejecutar netstat-an | grep 5984

tcp        0      0 127.0.0.1:5984          0.0.0.0:*               LISTEN

He configurado el sofá.ini tener "BindAddress=0.0.0.0" y se reinicia, por lo que debe estar escuchando en todas las interfaces. Cuando ejecuto "sudo /etc/init.d/couchdb stop", a continuación, ejecutar netstat, sin embargo, todavía puedo ver la entrada anterior. Parece que CouchDB no parar en absoluto. Esto puede explicar mi problema, porque significa que puede significar que CouchDB en realidad nunca se reinicia y nunca tomó la BindAddress cambio.

Yo manualmente mató a la CouchDB proceso y comenzó de nuevo. Ahora netstat muestra:

 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

Todavía no puedo conectar sin embargo, incluso desde otra máquina de la LAN.

33voto

Charles Caldwell Puntos 366

¿Qué netstat -an | grep 5984 decir? Qué dice 127.0.0.1:5984 o *:5984? Si es 127.0.0.1, luego de couchdb necesita ser configurado para escuchar en todas las interfaces.

15voto

user57451 Puntos 71

Tienes que cambiar el bind_address en /etc/couchdb/default.ini. A continuación, reinicie el servicio de e inténtelo de nuevo.

7voto

Bob Puntos 1

Me di cuenta de que para que esto funcione de forma manual, debe matar a la ejecución de erlang proceso por alguna razón.ps ax | grep beam debe revelar el erlang proceso, usted debe obtener algo a lo largo de las líneas de 0:00 /usr/lib/erlang/erts en algún lugar de la salida. Si usted matar a este proceso y, a continuación, ejecute /etc/init.d/couchdb restart el nuevo archivo de configuración se cargará.

4voto

En casa PC/Mac ejecutar este comando:

ssh -L 5984:localhost:5984 YOUR-SERVER-IP-HERE

a continuación abra en el navegador localhost:5984/_utils ... A mí me funciona

2voto

Matt Puntos 1115

Me encontré con esto, y mi problema terminó siendo que no fue, al parecer, couchdb ya instalado en mi instalación de Ubuntu. Yo había estado editando los ficheros de configuración en /etc/couchdb, pero el que estaba en marcha era en realidad tirando de configuración de /usr/local/etc/couchdb.

La sugerencia fue que las configuraciones en /etc/couchdb mencionado sofá 0.10, pero me había instalado la versión 1.0.1.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: