Kann ich Downloads von externen Links verbieten?

Es stellt sich heraus, dass die Konfiguration, die Discourse für nginx verwendet, bereits eine Einstellung für Hotlinking enthält, die jedoch auskommentiert ist. Sie können also ein paar Ersetzungen in Ihre app.yml-Datei einfügen, um diese Zeilen zu aktivieren.

Bearbeiten Sie /var/discourse/containers/app.yml mit Ihrem bevorzugten Editor. Am Ende finden Sie einen Abschnitt „run", und am Ende dessen einen Befehl „exec", der „end of custom commands" ausgibt.

Fügen Sie vor diesem exec-Befehl folgende Zeilen hinzu:

  - 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 /; }

Im ersten Ersetzungsteil sehen Sie die Zeile „to:" mit mysite.com *.mysite.com. Ersetzen Sie diese durch Ihre eigene Domain, z. B. discourse.org *.discourse.org. Der zweite Ersetzungsschritt geht davon aus, dass Besucher auf die Discourse-Startseite umgeleitet werden sollen.

Nachdem Sie die Änderungen gespeichert haben, führen Sie folgende Befehle aus, um Discourse mit der aktualisierten nginx-Konfiguration neu zu erstellen:

cd /var/discourse
./launcher rebuild app
4 „Gefällt mir“