¿Geobloqueo usando Nginx del contenedor?

Lo siento, esta es una pregunta de nivel 101. Pero sé cómo usar Nginx para bloquear países problemáticos, también conocido como geobloqueo, y detener agentes de usuario no deseados. Podría usar un proxy inverso delante de Discourse, ya lo he hecho antes, pero no sé nada sobre contenedores. Incluso, ni siquiera entiendo cómo funciona Docker en primer lugar.

Entonces, ¿puedo usar el mismo Nginx que usa Discourse? O dicho de forma más simple: ¿puedo hacer lo mismo dentro de un contenedor que haría/podría hacer fuera de él? ¿O se sobrescribirían todos los cambios la próxima vez que actualice?

Estoy tratando de evitar usar un Nginx adicional como proxy inverso, porque no me gustan las preguntas como “¿está tu configuración según lo recomendado? :joy:

Para ahorrar tiempo, empecé aquí, no con IA. Los LLM tienden a ser precisos al 80%, y ese 20% que falta consumiría mucho tiempo…

Sé que esta pregunta no es adecuada aquí, pero definitivamente no es una pregunta de soporte. Por favor, siéntete libre de moverla a otro lugar.

Crearía una plantilla que incluyeras en el contenedor de Docker que crea el lanzador.

Por ejemplo, de forma similar a esta plantilla de limitación de velocidad que realiza cambios en la configuración de Nginx: discourse_docker/templates/web.ratelimited.template.yml at main · discourse/discourse_docker · GitHub

Incluirías tu propia plantilla en la lista templates: de la configuración YAML de tu contenedor.

La próxima vez que lo reconstruyas, se incluirán tus cambios en la configuración de Nginx.

1 me gusta

Después de una rápida búsqueda en Google, parece que necesito usar plantillas, como se sugirió, y/o un plugin. De lo contrario, todo se sobrescribirá.

O tengo que usar un proxy inverso fuera del contenedor.

¿Correcto?

Sí, pero si se te da bien nginx, probablemente no sea muy difícil crear una plantilla (o añadir líneas a tu app.tml) que haga lo que quieres.