NPM falla en todo el mundo con el error "ERR! 418 I'm a Teapot"

Los usuarios del administrador de paquetes de JavaScript NPM ayer por la noche recibieron un extraño error, ya que sus consolas y aplicaciones arrojaron un mensaje de "ERR! 418 I'm a Teapot" cada vez que intentaban actualizar o instalar un nuevo paquete JavaScript/NodeJS.

Los desarrolladores de JavaScript de todo el mundo recibieron el error, y no solo en ciertas regiones geográficas.

Solo los usuarios que se encontraban detrás de los servidores proxy se vieron afectados

El error no afectó a todos los usuarios, sino solo a los que están detrás de un servidor proxy. A pesar de esto, un gran número de desarrolladores se vieron afectados porque la mayoría de las empresas de desarrollo a gran escala generalmente operan con proxies que regulan y controlan el tráfico interno de la red.

El motivo del error era que algunos servidores proxy agregaban un valor de puerto a las solicitudes destinadas al registro del paquete NPM, lo que daba como resultado solicitudes HTTP que parecían registry.npmjs.org:443, en lugar de registry.npmjs.org.

El valor adicional del puerto 443 confundió los servidores de registro de NPM, que luego activaron el código de error 418.

El equipo de NPM resolvió el problema después de siete horas durante las cuales los desarrolladores estaban alarmados y divertidos por el código de error.

Los buenos memes de Internet del año 1998

El mensaje "Error 418 I'm a Teapot" no es un tipo de error de servidor estándar. Todo esto se remonta a una broma de April Fools en el año 1998, cuando un grupo de desarrolladores propuso en broma el protocolo Hyper "Text Coffee Pot Control Protocol" (HTCPCP) a la IETF, una organización que crea y gestiona estándares de Internet.

El estándar RFC 2324 de broma incluía muchos códigos de error divertidos, incluido el "Error 418 I'm a Teapot".

En las últimas dos décadas, la broma de 1998 alcanzó el estado de meme, y muchos equipos de desarrollo han implementado el mensaje "Error 418 I'm a Teapot" dentro de sus aplicaciones como una broma interna, a menudo usando este error para errores de orígenes desconocidos.

Ahora es bastante evidente que el equipo detrás del Node Package Manager (NPM) también era un fan de este meme.