# 일부 페이지에서 S3에 저장된 에셋을 사용하는 커스텀 이모지가 CDN을 사용하지 않음

**URL:** https://meta.discourse.org/t/custom-emoji-dont-use-cdn-for-s3-stored-assets-in-a-few-pages/159787
**Category:** Support
**Created:** [8월 4, 2020, 2:34오후 UTC](https://meta.discourse.org/t/custom-emoji-dont-use-cdn-for-s3-stored-assets-in-a-few-pages/159787 "2020-08-04T14:34:06Z")
**Posts on this page:** 1
**Showing post:** 8

<div class="post-metadata">

### Author: ![Boost](https://avatars.discourse-cdn.com/v4/letter/b/8e8cbc/32.png) [@Boost](https://meta.discourse.org/u/Boost)
#### Post date: [8월 6, 2020, 11:42오전 UTC](https://meta.discourse.org/t/custom-emoji-dont-use-cdn-for-s3-stored-assets-in-a-few-pages/159787/8 "2020-08-06T11:42:21Z")

</div>

간단히 살펴본 후 직접 수정해 보았습니다.  
문제는 discourse의 JavaScript 메서드 `buildEmojiUrl`이 커스텀 이모지의 CDN URL 대신 스토리지 URL을 받는 것 같습니다. 이는 retort 플러그인도 사용하는 동일한 방식인 것 같습니다.  
따라서 이를 수정하면 대부분의 문제가 해결되지 않을까 싶습니다.

간단히 살펴본 결과 커스텀 이모지 URL을 생성하는 부분을 발견하여 다음과 같이 변경했습니다:

> <https://github.com/discourse/discourse/blob/baefef2c63c300892b5c119e5c2e1cfa35636bf7/app/models/emoji.rb#L119>

rails console로 테스트해 본 결과 프로덕션 사이트의 URL이 수정되는 것 같습니다. 그래서 해당 변경 사항을 프로덕션에 배포해 보았지만 작동하지 않았습니다.  
배포가 안 된 후 `EMOJI_VERSION`을 10으로 변경하여 업데이트를 시도해 보았지만 이것도 작동하지 않았습니다. `launcher enter`를 실행하고 git log를 확인하면 제 커밋이 보입니다. 다음 접근 방식을 따랐습니다:

> [@Can't change repo in discourse docker](https://meta.discourse.org/t/cant-change-repo-in-discourse-docker/49376/8?u=boost):
>
> In the past, I’ve done it by editing app.yml like this: hooks: after\_code: - exec: cd: $home/plugins cmd: - git clone https://github.com/discourse/docker\_manager.git - git clone https://github.com/scossar/localized-categories - git clone https://github.com/scossar/dictionary-card-onebox - exec: cd: $home cmd: # changes start here - git remote remove origin - git config --remove-section branch.ma…

---

_[View the full topic](https://meta.discourse.org/t/custom-emoji-dont-use-cdn-for-s3-stored-assets-in-a-few-pages/159787)._
