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