Multisite vs plusieurs conteneurs

Je voulais faire le point sur ma situation.

Après quelques recherches, j’ai décidé d’avoir une configuration multisite (un seul conteneur à ce stade) avec un site nginx ‘externe’ pour expliquer la configuration et diriger les gens et le trafic vers les différents sites Discourse. De cette façon, je pourrais rendre les deux sites ouverts en lecture seule (et aux robots d’indexation) sans que les personnes de la liste1 aient à gérer le contenu de la liste2. Je devrai peut-être jouer avec robots.txt pour satisfaire les robots d’indexation.

Les exemples de configuration multisite ont été instructifs, mais je n’ai pas réussi à le faire fonctionner avec une socket Unix (erreur de passerelle), j’ai donc fini par les rediriger vers un autre port et rediriger ce port vers 443 à l’intérieur du conteneur.

Dans mon fichier app.yml, j’ai activé le modèle SSL mais pas celui de letsencrypt.

J’ai réussi à faire fonctionner le site de test, je cherche maintenant les problèmes qui pourraient survenir lors de la conversion du site de production, espérons-le plus tard ce mois-ci ou le mois prochain.

Je m’occupe du problème de certificat côté serveur externe, mais j’ai rencontré le problème ‘non sécurisé’ que j’ai résolu en exigeant https dans le conteneur. J’ai une tâche que j’exécuterai via cron pour copier le dernier certificat et la dernière clé dans le répertoire /shared/ssl du conteneur (sous forme de ssl.crt et ssl.key). Je ne suis pas sûr si je devrai forcer un rechargement de nginx à l’intérieur du conteneur pour m’assurer qu’un nouveau certificat est chargé lorsqu’il change (en juillet, je pense).

J’ai rencontré une autre particularité de Discourse :

Dans le fichier du conteneur /etc/nginx/conf.d/discourse.conf, il y a ce fragment de code (nom de domaine modifié) :

if ($http_host != 'site1.my.domain') {
   rewrite (.*) https://site1.my.domain$1 permanent
}

Cela provoquait la redirection de site2.my.domain vers site1.my.domain, j’ai donc dû le commenter.

NOTE : Reconstruire le conteneur nécessite de refaire cette modification, y a-t-il un moyen de l’éviter ?

Et cela a conduit à une particularité du navigateur, car Firefox avait alors signalé cette redirection comme permanente, j’ai donc dû supprimer le cache du navigateur. (Cela m’a pris beaucoup trop de temps à comprendre !)

J’ai trouvé une autre chose étrange.

Sur mon site de test, le paramètre pour exiger https n’était coché pour aucun des sites. Sur mon site de production, ce paramètre n’est même pas présent dans le fichier de configuration. Je suppose que cela a quelque chose à voir avec les différences entre les deux sites.