10 puntos por xguru 2021-09-27 | Aún no hay comentarios. | Compartir por WhatsApp
  • Un playground donde puedes cambiar libremente la configuración de nginx y probarla

→ ingresa la configuración y comandos curl/http, y ejecuta con Run

→ muestra el resultado de los comandos ejecutados y el log de errores de nginx

  • Frontend en Vue.js + backend en Go (solo el código del servidor está publicado como Gist)

  • Al presionar el botón de ejecutar, el backend en Go realiza lo siguiente

→ guarda el archivo de configuración como un archivo temporal

→ crea un nuevo network namespace

ip netns add $RANDOM_NAMESPACE_NAME

→ ejecuta go-httpbin en el puerto 777

→ inicia nginx

→ espera 100 ms hasta que nginx se ejecute correctamente. Si falla, devuelve el log de errores de nginx

→ ejecuta el comando ingresado por el usuario (verificando que sea curl o http)

→ devuelve la salida de la solicitud

  • Maneja todas las solicitudes con un solo servidor compartido

  • Enfoque de seguridad: un poco de aislamiento, un poco de YOLO

→ el frontend está alojado en un CDN

→ no usa DB. Solo usa el almacenamiento local del navegador

→ cada nginx se coloca en su propio network namespace. Se bloquea el acceso a internet

→ usa el plan gratuito de fly.io

→ ponerlo en el FAQ para pedirle a la gente que se porte bien

  • Rendimiento

→ instancia muy pequeña (1 CPU compartido, 256 MB de RAM)

→ como el frontend está en un CDN, el backend solo se activa cuando realmente se usa

→ cada solicitud tarda alrededor de 400 ms. No está nada mal

→ la versión en Go de httpbin es más ligera que la versión original en Python

→ el rendimiento del frontend no es tan bueno

Aún no hay comentarios.

Aún no hay comentarios.