Evite problemas de SOP, combine orígenes, servicios proxy, use SSL, HTTP2, SSI y más… ¡durante el desarrollo!
Instalación | Uso | Configuración | Proyectos de ejemplo | Soporte | Registro de cambios
Proxrox es una utilidad de línea de comandos que inicia una instancia local de Nginx para servir archivos estáticos, representar uno o varios servicios bajo un único origen, usar SSL localmente y, en general, obtener un entorno de desarrollo similar a un entorno de producción.
Proxrox logra esto usando Nginx. Cuando se le pide a proxrox que inicie un servidor, creará un archivo de configuración de Nginx en una ubicación temporal e iniciará una instancia de Nginx usando este archivo de configuración. Esto significa que, en teoría, proxrox puede admitir todas las funciones de Nginx.
También puede utilizar Proxrox para depurar aplicaciones web, como se muestra en la siguiente presentación.
TL;DR; npm install -g proxrox
. Nginx debe estar en $PATH
y ser ejecutable sin privilegios de superusuario.
Las instrucciones de instalación detalladas se pueden encontrar en INSTALLATION.md.
Inicie proxrox usando un archivo de configuración local. El formato y las opciones admitidas se explican en el archivo CONFIGURATION.md.
proxrox start .proxrox.yaml
Detenga las instancias de Nginx en ejecución (detiene todas):
proxrox stop
La experiencia ha demostrado que la definición de opciones mediante archivos de configuración, por ejemplo .proxrox.yaml
, es la opción más utilizada. Se pueden ver proyectos de ejemplo de trabajo con la configuración de proyecto recomendada en el directorio de ejemplos.
Los entornos de desarrollo deben parecerse a los entornos de producción. Esto significa que durante el desarrollo deben existir inclusiones del lado del servidor, seguridad de la capa de transporte, compresión y más. Esto no sólo es importante para optimizar la velocidad de la página, sino que también le permite encontrar problemas de seguridad con antelación, por ejemplo, una página segura que hace referencia a contenido inseguro.
Ya sea que la aplicación esté orientada a servicios, basada en microservicios, en una arquitectura de cliente orientada a recursos o una aplicación de una sola página, la política del mismo origen suele ser un problema para el desarrollo local. La gente evita este problema de varias maneras. Si bien la mayoría de los equipos cuentan con buenas prácticas para entornos de producción, los entornos de desarrollo a menudo carecen de ellas. Las soluciones que he visto van desde el intercambio de recursos entre orígenes para el desarrollo local activado mediante indicadores de funciones hasta la desactivación completa de la seguridad web en los navegadores.
Mucha gente no conoce ni utiliza las inclusiones del lado del servidor. Probablemente haya varias razones para esto. Una cosa de la que me di cuenta es que solo lleva tiempo configurar un entorno de desarrollo adecuado con servidores proxy.
¿Algo no funciona como se esperaba? ¡No dudes en contactarme en Twitter a través de @BenRipkens!