Comment modifier nginx/discourse.conf
Je suppose que toute modification de discourse.conf à l’intérieur du conteneur est annulée en effectuant une reconstruction de toute façon.
Pour conserver les modifications, vous devez les ajouter d’une manière ou d’une autre à la configuration de votre conteneur - par exemple, web_only.yml :
# [...]
## N'oubliez pas qu'il s'agit de la syntaxe YAML - vous ne pouvez avoir qu'un seul bloc avec un nom
run:
- exec: echo "Début des commandes personnalisées"
# [...]
- replace:
filename: /etc/nginx/conf.d/discourse.conf
from: $proxy_add_x_forwarded_for
to: $http_x_real_ip
global: true
# [...]
Comment déboguer une installation Discourse dans un sous-dossier
Dans une installation Discourse dans un sous-dossier, un appel à Discourse se déroule comme suit :
example.org/forum → [Proxy externe pour example.org] → /path-to-discourse/discourse/shared/web-only/nginx.http.sock → [Nginx dans le conteneur Discourse]
Donc, s’il y a une erreur, nous devons d’abord la localiser :
- Proxy externe
- Nginx dans le conteneur Discourse
- Discourse lui-même
Proxy externe
- Appelez-le dans un navigateur et vérifiez le résultat.
- Vérifiez les journaux d’erreurs du proxy externe.
Nginx dans le conteneur Discourse
- Connectez-vous en SSH à votre serveur web.
- Connectez-vous directement au socket via
curl. - Déboguez la sortie
curlet les journaux deNginx dans Discourse
Important : utilisez l’URL http – et non https.
curl -I --unix-socket /path-to-discourse/discourse/shared/web-only/nginx.http.sock http://www.example.org/forum/
Si cela fonctionne, essayez un véritable appel comme :
curl --unix-socket /path-to-discourse/discourse/shared/web-only/nginx.http.sock \
-H "user-agent: Chrome/88.0.4324.182" \
-H "Accept-Encoding: gzip" \
http://www.example.org/forum/t/test-thread/12345 --output test-encoded.html.gz