Géoblocage avec Nginx du conteneur ?

Désolé, c’est une question de niveau 101. Mais je sais comment utiliser Nginx pour bloquer des pays problématiques, alias le géoblocage, et arrêter les user agents indésirables. Je pourrais utiliser un reverse proxy devant Discourse, je l’ai déjà fait, mais je ne connais rien aux conteneurs. Heck, je ne comprends même pas comment Docker fonctionne en premier lieu.

Alors, puis-je utiliser le même Nginx que Discourse utilise ? Ou pour le dire plus simplement : puis-je faire la même chose à l’intérieur d’un conteneur que ce que je ferais/pourrais faire à l’extérieur ? Ou est-ce que tous les changements seraient écrasés lors de la prochaine mise à niveau ?

J’essaie d’éviter d’utiliser un Nginx supplémentaire comme reverse proxy, car je n’aime pas les questions du genre “votre configuration est-elle conforme aux recommandations” :joy:

Pour gagner du temps, j’ai commencé ici, pas avec une IA. Les LLM ont tendance à être précis à 80%, et ces 20% manquants prendraient beaucoup de temps…

Je sais que cette question ne convient pas ici, mais ce n’est certainement pas une question de support non plus. N’hésitez pas à la déplacer ailleurs.

Je créerais un modèle que vous incluez dans le conteneur Docker créé par le lanceur.

Par exemple, comme ce modèle de limitation de débit qui modifie la configuration nginx : discourse_docker/templates/web.ratelimited.template.yml at main · discourse/discourse_docker · GitHub

Vous incluriez votre propre modèle dans la liste templates: de votre configuration YAML de conteneur.

La prochaine fois que vous le reconstruirez, vos modifications de la configuration nginx seront incluses.

1 « J'aime »

Après une recherche rapide sur Google, il semble que je doive utiliser des modèles, comme suggéré, et/ou un plugin. Sinon, tout sera écrasé.

Ou je dois utiliser un proxy inverse à l’extérieur du conteneur.

C’est ça ?

Oui, mais si vous êtes à l’aise avec nginx, il n’est probablement pas très difficile de créer un modèle (ou d’ajouter des lignes à votre app.tml) qui fait ce que vous voulez.