Android는 RTE를 사용할 수 없고, i-devices는 작성기 모드를 변경할 수 없습니다

이 문제를 일으킬 만한 최근의 Discourse 변경 사항은 없다고 생각합니다. 하지만 S3에는 CORS와 관련된 오래된 특이한 문제가 있으며, 이로 인해 CDN이 Access-Control-Allow-Origin 헤더가 없는 자산 버전을 캐시할 수 있습니다. 그리고 이것이 잘못된 캐시 문제라면, 왜 일부 사용자(아마도 위치 기반일 가능성이 높습니다)에게만 영향을 미치는지 설명할 수 있습니다.

기억이 맞다면, S3는 Origin 헤더를 전송하는 요청(즉, 일반적인 웹 브라우저에서 오는 요청)에만 Access-Control-Allow-Origin 헤더를 제공합니다. Access-Control-Allow-Origin가 생략된 경우, 응답에 Vary: origin을 제공하지 않습니다. 따라서: 특정 자산에 대한 첫 번째 요청이 웹 브라우저가 아닌 컨텍스트(예: curl 또는 일부 웹 크롤러)에서 전송되면, CDN은 CORS 헤더가 없는 버전을 캐시할 수 있습니다. 정말 귀찮은 문제입니다!

여기서는 DISCOURSE_CORS 설정이 전혀 도움이 되지 않습니다. 그것은 S3가 아니라 애플리케이션 서버에만 관련이 있기 때문입니다.

우리의 호스팅에서는 Cloudfront를 구성하여 모든 응답에 Access-Control-Allow-Origin: *를 추가함으로써 이 문제를 우회합니다. 이렇게 하면 S3의 특이한 동작이 잘못된 결과가 캐시되는 것을 방지할 수 있습니다.

또는, Cloudfront를 구성하여 캐시 키에 Origin 요청 헤더를 포함하도록 할 수도 있습니다. 그러면 non-CORS 응답과 CORS 응답이 별도로 유지됩니다.

Amazon은 CORS에 대한 문서를 여기에 많이 제공하고 있습니다. 제 노트에는 정확히 이 문제에 대한 포럼 스레드였던 것으로 보이는 이 링크가 있었는데, Apparently 삭제된 것 같습니다 :cry: