El demonio Dogecoin (dogecoind) no responde a las solicitudes de RPC

Tengo el demonio dogecoin ejecutándose correctamente en Ubuntu, comencé con este comando:

dogecoind -daemon

Está escuchando en el puerto 22556, según lo verificado por netstat.

También puedo pasarle comandos directamente a través de la terminal de Ubuntu, así:

dogecoind getinfo

Sin embargo, pasarle solicitudes RPC a través de HTTP no funciona. El daemon no rechaza la conexión (y puedo verificar que rechaza la conexión si uso un puerto que no sea 22556); en cambio, la conexión se bloquea y no se envían datos al cliente que realiza la solicitud HTTP. Conexión directa a

http://a:b@127.0.0.1:22556/

hace que el navegador web se siente y espere datos. De manera similar, realizar una solicitud RPC a través de un script PHP y luego acceder a ese script en un navegador, hace que el navegador espere 30 segundos antes de que PHP arroje un error que indique que se excedió el tiempo máximo de ejecución de 30 segundos.

Tengo mi archivo ~/.dogecoin/dogecoin.conf como tal:

server=1
rpcuser=a
rpcpassword=b

(Sé que el nombre de usuario y la contraseña que escribí allí no son seguros; son temporales hasta que al menos pueda hacer una conexión).

He intentado agregar la línea

rpcallowip=127.0.0.1

hasta el final del archivo de configuración, pero eso no cambió el comportamiento en absoluto.

¿Qué estoy haciendo mal? ¿Por qué mi demonio Dogecoin no acepta solicitudes RPC (o cualquier solicitud HTTP de un navegador real, para el caso)?

editar : Además, puedo verificar que el daemon está atrapado con la cadena de bloques.

rpcallowiip=0.0.0.0 Esa es una configuración insegura si está escuchando en un espacio de dirección IP pública. El mapa de direcciones 0.0.0.0 es una abreviatura para permitir conexiones desde todos los hosts. Si está ejecutando en un entorno NAT, puede estar bien por el momento, siempre y cuando no comparta la red con hosts desconocidos. (es decir, una red de dormitorios) Casey
@unklStewy: Ah, gracias por señalarlo. Me aseguraré de cambiarlo antes de ir a producción.

Respuestas (1)

Lo averigué. Tenía que ver con agregar líneas rpcallowip al archivo de configuración. Agregar estas tres líneas lo resolvió:

rpcallowip=127.0.0.1
rpcallowip=192.168.1.*
rpcallowip=0.0.0.0

La última línea es lo que finalmente permitió que funcionara. No estoy seguro de por qué, pero netstat dijo que estaba escuchando en 0.0.0.0:22556, por lo que se resolvió agregando 0.0.0.0 a la lista rpcallowip.

Esto se debe a que 0.0.0.0 en lenguaje de red significa esencialmente "todas las direcciones IP". Básicamente, ha permitido que todas las direcciones IP se conecten a su servidor RPC.
Gracias por la información. Desde entonces, lo eliminé para asegurarme de que la vulnerabilidad no existe. En cuanto a la solución real, no estoy seguro de cuál fue el problema. Ejecutando una nueva instalación en un servidor diferente, no he experimentado el mismo problema que publiqué originalmente.