외부 링크에서 다운로드를 금지할 수 있나요?

Discourse가 nginx에 사용하는 설정에는 이미 핫링크(hotlinking) 관련 항목이 포함되어 있지만, 주석 처리되어 있는 상태입니다. 따라서 app.yml 파일에 몇 가지 replace 지시문을 추가하여 해당 줄들의 주석을 해제하면 됩니다.

편한 편집기로 /var/discourse/containers/app.yml 파일을 편집하세요. 파일 끝부분에 run 섹션이 있고, 그 안의 끝부분에 echo "end of custom commands"를 실행하는 exec 항목을 찾을 수 있습니다.

해당 exec 항목 앞에 다음 줄들을 추가하세요:

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

첫 번째 replace 섹션의 to: 줄에서 mysite.com *.mysite.com을 볼 수 있는데, 이 부분을 자신의 도메인 이름(예: discourse.org *.discourse.org)으로 대체하세요. 두 번째 replace는 방문자가 Discourse 홈 페이지로 리다이렉트되기를 원하는 경우를 가정하고 있습니다.

변경 사항을 저장한 후, 업데이트된 nginx 설정으로 Discourse를 다시 빌드하려면 다음 명령을 실행하세요.

cd /var/discourse
./launcher rebuild app
4개의 좋아요