Si scopre che la configurazione che Discourse utilizza per nginx include già qualcosa per il hotlinking, anche se è commentato. Quindi quello che puoi fare è aggiungere un paio di sostituzioni al tuo file app.yml per decommentare quelle righe.
Modifica /var/discourse/containers/app.yml con il tuo editor preferito. Alla fine troverai una sezione run e alla fine di quella troverai un exec per echo “end of custom commands”.
Prima di quell’exec, aggiungi le seguenti righe:
- 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 /; }
Nella prima sezione di sostituzione vedrai la riga “to:” con mysite.com *.mysite.com; sostituiscile con il tuo nome di dominio, ad esempio discourse.org *.discourse.org. La seconda sostituzione presuppone che tu voglia che i visitatori vengano reindirizzati alla home page di Discourse.
Dopo aver salvato le modifiche, esegui i seguenti comandi per ricostruire Discourse con la configurazione nginx aggiornata.
cd /var/discourse
./launcher rebuild app