Pues existen varias cosas, una que se nos puede ocurrir es que mediante una cookie establezcamos ambientes y entornos, entonces sí sabemos en qué entorno estamos podemos servir un contenido con una configuración diferente.
Cookies en Nuestro Navegador
Las cookies son pequeños archivos que podemos almacenar en el equipo del usuario, con ello luego nuestro sitio puede obtener datos importantes como por ejemplo preferencias o historial de usos pasados del usuario en un site.
Si queremos ver las cookies en nuestros navegadores, generalmente tenemos que ir a la configuración avanzada, donde podremos ver algo como lo siguiente:
Vemos en la imagen como el navegador cataloga las cookies según el site del que provienen, y el nombre que les asignamos desde nuestras aplicaciones, generalmente esto es transparente para los usuarios, sin embargo podemos utilizarlo como un elemento de acción de nuestra aplicación aprovechando las capacidades que tiene Nginx como servidor.
Crear una Regla Rewrite
Para crear la regla rewrite con las cookies, lo primero que debemos hacer es pensar para que la queremos, en el caso de este ejemplo vamos a hacer unos condicionales para enviar al usuario a un ambiente según la cookie que posea en su equipo.
Veamos en la siguiente imagen un código que nos puede ayudar a conseguir el objetivo.
Aquí lo que hacemos es tener la variable $cookie_env, esta va a capturar la cookie que hemos colocado en la máquina del usuario, tenemos 3 ambientes donde aplicamos condicionales if y que según la cookie capturada vamos a rescribir la ruta con nuestra regla rewrite, de esta forma la aplicación puede recibir las variables enviadas en un entorno y según esto mostrar algunas características.
Como podemos ver Nginx nos permite acceder a más datos que los que el usuario puede imaginarse, con una buena aplicación y un poco de creatividad podemos descargar un poco el peso de la lógica dentro de nuestro servidor. Esto nos puede conllevar a simplificar un poco el código de nuestros sites, sin embargo como todo debemos aplicarlo sabiamente para que no hayan confusiones de mayor grado cuando trabajamos con equipos grandes de desarrolladores.