`DISCOURSE_ENABLE_CORS` 환경 변수를 설정하려면 어디로 가야 하나요?

app.yml의 env 섹션 어딘가에 DISCOURSE_ENABLE_CORS: true를 설정해야 합니다.

discourse에 대해 DISCOURSE_ENABLE_CORS 변수를 설정해야 하는 것 아닌가요?

무엇을 말씀하시는지는 정확히 모르겠지만, 추천된 방법을 시도해 보시길 바랍니다. 전체 재빌드 대신 ./launcher destroy app;./launcher start app만 실행하면 된다고 확신합니다.

답변해 주셔서 감사합니다. 이전 메시지에서 충분히 명확하지 못해 죄송합니다.

저는 Discourse 호스팅 인스턴스를 사용하고 있으며, 웹사이트에 Discourse를 임베드하려고 합니다. 임베드된 Discourse iframe의 contentDocument 객체를 가져오려고 했더니 크로스 오리진 제한에 부딪혔습니다. 관리자 설정 페이지에서 토픽 이미지에 표시된 “cors origins” 설정을 발견했습니다. 테스트용 오리진 URL을 추가했지만 작동하지 않았습니다. 또한 The DISCOURSE_ENABLE_CORS env variable must be set to true to enable CORS.라는 안내 문구를 확인했습니다. 하지만 관리자 설정에서 DISCOURSE_ENABLE_CORS를 설정할 위치를 찾을 수 없습니다.
DISCOURSE_ENABLE_CORS를 어떻게 설정하는지, 또는 제 크로스 도메인 구성이 작동하지 않는 것이 이 설정과 관련이 있는지 알고 싶습니다.

임베딩은 내 전문 분야는 아니지만, 환경 변수를 변경하는 것보다 /admin/customize/embedding에서 설정하는 것이 맞지 않을까요?

답변 감사합니다. 시도해 봤지만 작동하지 않았습니다.

도움을 원하신다면, 어떤 시도를 했는지 상세히 설명해 주셔야 합니다.

/admin/customize/embedding에서 이렇게 설정했지만, 크로스오리진(cross-origin)에는 효과가 없습니다.

그렇게 할 수 없다고 생각합니다.

iframe 임베딩을 허용하는 숨겨진 사이트 설정이 있지만, 표준 플랜이나 비즈니스 플랜에서는 사용할 수 없다고 추정됩니다. 지원 담당자에게 문의하여 확인해 보실 수 있습니다.

iframe에 Discourse를 임베드하는 것은 공식적으로 지원되지 않습니다.

iframe는 공식 JS 스크립트에 의해 생성됩니다. /admin/customize/embedding에서 제공되는 코드를 다음과 같이 사용하고 있습니다:


웹사이트의 색상 패턴과 임베드된 부분이 일치하도록 유지해야 하므로, 내가 생성하지 않은 iframe이더라도 접근해야 합니다.

@mikeguo 디스코urs(Disourse) 토픽을 임베드하려는 사이트의 플랫폼이 무엇인가요?

예를 들어, Wordpress 사이트인가요, 아니면 Ghost 블로그인가요?

대상 사이트의 게시물 URL을 제공해 주세요.

제가 볼 수 있는 것은 위 토픽의 코드 스크린샷에서 가져온 이 주소뿐입니다:

https://e53c-185-143-220-5.eu.ngrok.io/

예를 들어, 저는 이 게시물에 설명된 대로 ‘DISCOURSE_ENABLE_CORS’ 환경 변수를 사용하여 디스코urs 포럼의 콘텐츠를 Ghost 블로그의 페이지에 표시했습니다…

그러나 위에서 게시하신 코드를 통해 사용하려는 기능은…

…디스코urs 포럼의 토픽을 외부 사이트의 게시물(POSTS)로 임베드하려는 것임을 시사하고 있으며, 이는 다른 사용 사례입니다.

여기서 정확히 무엇을 하려는 것인지 더 잘 설명해 주셔야 합니다…

상세한 설명을 해주셔서 감사합니다.
https://algo.monster는 Discourse를 임베드하고 싶은 제 웹사이트입니다. 구체적으로 말하자면,
기사 페이지에 Discourse를 임베드하여 댓글을 표시하고, 현재 사용 중인 Cusdis를 대체하려는 것입니다. 예를 들어,
기사 https://algo.monster/problems/math-basics와 댓글:


제 웹사이트 https://algo.monster는 블로그 플랫폼을 사용하지 않으며, Wordpress나 Ghost도 아닙니다. 제 웹사이트는 제 코드로 구현되어 제 클라우드 서버에 배포되어 있습니다.
/admin/customize/embedding에서 제공된 코드를 사용하면 임베드된 Discourse가 올바르게 표시됩니다.
DISCOURSE_ENABLE_CORS를 설정하여 해결하고자 하는 문제는 다음과 같습니다:

이 URL은 제가 테스트용으로 사용 중인 것으로, 크로스 오리지인 문제를 일으키지 않아야 합니다.

@mikeguo 님, 감사합니다. discourseEmbedUrl의 ‘REPLACE_ME’ 부분에 스크립트 스니펫에 무엇을 넣으셨나요?

주제를 자동으로 생성하는 대신 기존 주제에 연결하기 위해, 아래처럼 discourseEmbedUrl 파라미터를 topicId로 대체했습니다:

다시 한번 감사합니다 @mikeguo – 죄송합니다만, 저는 더 이상 도움을 드릴 수 있는 능력이 되지 않습니다… 여기서 다른 누군가가 조언해 주실 수 있기를 바랍니다…

그래도 도움을 주셔서 감사합니다 :sparkling_heart: