10 puntos por xguru 2021-09-27 | Aún no hay comentarios. | Compartir por WhatsApp
<p>- Un playground donde puedes cambiar libremente la configuración de nginx y probarla <br /> → ingresa la configuración y comandos `curl`/`http`, y ejecuta con Run<br /> → muestra el resultado de los comandos ejecutados y el log de errores de nginx <br /> - Frontend en Vue.js + backend en Go (solo el código del servidor está publicado como Gist)<br /> - Al presionar el botón de ejecutar, el backend en Go realiza lo siguiente <br /> → guarda el archivo de configuración como un archivo temporal<br /> → crea un nuevo network namespace <br /> `ip netns add $RANDOM_NAMESPACE_NAME`<br /> → ejecuta `go-httpbin` en el puerto 777<br /> → inicia nginx<br /> → espera 100 ms hasta que nginx se ejecute correctamente. Si falla, devuelve el log de errores de nginx<br /> → ejecuta el comando ingresado por el usuario (verificando que sea `curl` o `http`)<br /> → devuelve la salida de la solicitud <br /> - Maneja todas las solicitudes con un solo servidor compartido <br /> <br /> - Enfoque de seguridad: un poco de aislamiento, un poco de YOLO <br /> → el frontend está alojado en un CDN <br /> → no usa DB. Solo usa el almacenamiento local del navegador<br /> → cada nginx se coloca en su propio network namespace. Se bloquea el acceso a internet <br /> → usa el plan gratuito de fly.io <br /> → ponerlo en el FAQ para pedirle a la gente que se porte bien <br /> <br /> - Rendimiento<br /> → instancia muy pequeña (1 CPU compartido, 256 MB de RAM)<br /> → como el frontend está en un CDN, el backend solo se activa cuando realmente se usa<br /> → cada solicitud tarda alrededor de 400 ms. No está nada mal <br /> → la versión en Go de httpbin es más ligera que la versión original en Python <br /> → el rendimiento del frontend no es tan bueno </p>

Aún no hay comentarios.

Aún no hay comentarios.