Il s’avère que la configuration que Discourse utilise pour nginx inclut déjà une option pour le hotlinking, bien qu’elle soit commentée. Vous pouvez donc ajouter quelques remplacements dans votre fichier app.yml pour décommenter ces lignes.
Éditez /var/discourse/containers/app.yml avec votre éditeur préféré. À la fin, vous trouverez une section run, et à la fin de celle-ci, un exec qui affiche « end of custom commands ».
Avant cet exec, ajoutez les lignes suivantes :
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "#valid_referers none blocked mysite.com *.mysite.com;"
to: valid_referers none blocked mysite.com *.mysite.com;
- replace:
filename: "/etc/nginx/conf.d/discourse.conf"
from: "#if ($invalid_referer) { return 403; }"
to: if ($invalid_referer) { return 307 /; }
Dans la première section de remplacement, vous verrez la ligne to: contenant mysite.com *.mysite.com ; remplacez-les par votre propre nom de domaine, par exemple discourse.org *.discourse.org. La deuxième section de remplacement suppose que vous souhaitez rediriger les visiteurs vers la page d’accueil de Discourse.
Après avoir enregistré les modifications, exécutez les commandes suivantes pour reconstruire Discourse avec la configuration nginx mise à jour.
cd /var/discourse
./launcher rebuild app