Estoy tratando de descubrir la mejor manera de configurar un entorno de ensayo con algunas restricciones de acceso.
La solución simple sería lanzar la autenticación básica, pero luego no podré apuntar a Google Page Speed Insights mientras pruebo las optimizaciones de rendimiento, así como otros servicios externos similares a los que quiero acceder.
Podría hacerlo completamente público con robots.txt para evitar que aparezca en los motores de búsqueda. Pero mi preocupación es que el riesgo de cualquier error en el archivo robots.txt es bastante alto, y prefiero no tener que preocuparme por eso.
Si no bloquea los motores de búsqueda (o si algunos lo ignoran), obtendrá clientes en vivo que hagan pedidos a su sitio de preparación, lo que no los hará felices.
O peor aún, si implementa accidentalmente el archivo robots.txt en producción, perderá todo su jugo de Google y una buena parte de las ventas.
Entonces, la opción que me gusta es una simple restricción de dirección IP. Pero me encantaría poder agregar / eliminar restricciones sin tener que reiniciar Nginx, solo para minimizar nuevamente el riesgo al hacer cambios.
Así que estoy empezando a inclinarme hacia un módulo rápido que, cuando esté habilitado, analizará las direcciones IP del desarrollador y solo permitirá el acceso al sitio (frontal y posterior) si la dirección IP del usuario (o X_FORWARDED_FOR) coincide.
Me pregunto si esto suena como una solución razonable o si hay algo más simple que me estoy perdiendo.
ACTUALIZACIÓN: dado que el archivo robots.txt se puede controlar a través de un conmutador backend nativo y el aviso de la tienda de demostración evitará cualquier pedido legítimo de los clientes, y dado que realmente no me preocupa el acceso público al sitio de preparación, me gusta la solución de Phil.
Pero para cualquiera que quiera restringir el acceso a su sitio de preparación, creo que la solución de Kris es el camino a seguir.
ACTUALIZACIÓN 2: no estoy 100% seguro de lo que se supone que deben hacer las opciones de robots.txt en Configuración del sistema> Diseño> Cabecera HTML, pero en mi caso, y de una breve búsqueda, esto parece ser común, solo tengo un robots.txt plano archivo de texto en el lugar que se está utilizando, por lo que esa opción de configuración no se respeta.
Así que voy con el módulo de mantenimiento por ahora: https://github.com/aleron75/Webgriffe_Maintenance