Servir Discourse à partir d'un sous-dossier (préfixe de chemin) au lieu d'un sous-domaine

Depuis un certain temps, nous observons des messages « X-Accel-Mapping header missing » émis par le conteneur avec une fréquence assez élevée, bien que cela ne soit pas déclenché à chaque visite ou étape de navigation. Je constate que cet en-tête est explicitement défini dans la configuration Nginx, mais pas pour toutes les requêtes : discourse/config/nginx.sample.conf at main · discourse/discourse · GitHub

Puisque je ne vois aucune mention de ce problème ailleurs sur ce forum, je me demande s’il pourrait être lié à notre configuration en sous-répertoire, même si je ne vois pas comment.

Je ne suis pas certain de ce qui l’émet exactement, mais je suppose que cela ne devrait se produire que si X-Sendfile-Type est défini sur X-Accel-Redirect, tandis que X-Accel-Mapping n’est pas défini. Or, la configuration définit les deux ou les laisse tous deux vides :thinking:.

En réalité, cela n’est défini que lors de l’accès aux sauvegardes et, plus pertinent encore, lors de l’accès aux téléversements. J’ai testé et vérifié que chaque fois que je consulte un message contenant une image téléversée ou similaire, ce message est déclenché. En examinant la configuration, il ne devrait pas être possible que X-Accel-Redirect soit défini sans X-Accel-Mapping. De plus, il s’agit d’un en-tête de requête défini par Nginx à l’intérieur du conteneur, consommé uniquement par Discourse/unicorn/pitchfork/backend, c’est-à-dire qu’il n’entre ni ne sort du conteneur.

Ah, nous configurons Nginx pour journaliser dans STDERR, et comme je ne vois pas cela dans les journaux de Discourse, je suis certain que c’est Nginx lui-même qui l’émet. C’est probablement la raison pour laquelle personne d’autre ne l’a remarqué, car il se trouve dans le fichier de journaux de Nginx. Quelqu’un a-t-il le temps de vérifier si son shared/*/log/var-log/nginx/error.log contient également ces messages ? Si c’est le cas, je reviendrai vers d’autres personnes qui n’utilisent pas de configuration en sous-répertoire pour affiner l’analyse.