# 포럼이 엉망이 됨 - 업그레이드 후일 가능성

**URL:** https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146
**Category:** Support
**Created:** [7월 5, 2024, 1:50오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146 "2024-07-05T13:50:14Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![packman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/packman/32/289322_2.png) [@packman](https://meta.discourse.org/u/packman)
#### Post date: [7월 5, 2024, 1:50오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/1 "2024-07-05T13:50:14Z")

</div>

긴 글입니다…

며칠 전 제 포럼을 새 서버로 이전했습니다. 이전 작업은 순조롭게 진행되었고, 사용자들은 정상적으로 로그인하고 포럼을 사용할 수 있었습니다. 그러나 로그인한 지 2~3시간 후, 사용자들은 포럼을 사용할 수 없게 되었다고 발견했습니다. 처음에는 문제를 인지하지 못했지만, 10~15분 안에 제 계정에도 문제가 발생하고 있음을 알게 되었습니다. 제가 본 현상은 포럼 페이지가 페이지 아래쪽으로 반복적으로 출력되지만 콘텐츠가 누락되어 있는 것이었습니다… 즉, 헤더… 텍스트 일부… 다시 헤더… 다시 텍스트 일부… 다시 헤더… 이런 식이었죠.

전송 과정에서 문제가 생긴 것으로 생각하여, 이전 이후로 게시글이 매우 적었고 여전히 구 서버를 사용할 수 있었기 때문에, 저는 구 서버에서 포럼을 다시 구동하고 DNS를 구 서버로 되돌렸습니다. 이렇게 하면 무엇이 잘못되었는지 파악하고 이전을 다시 시도할 시간을 벌 수 있을 것으로 보았습니다.

그런데 오늘, 제 ‘구’ 포럼에서 중요 업데이트가 필요하다는 알림이 떴습니다. 업데이트를 적용하니 상황이 정상적으로 보였습니다. 그러나 1~2시간 후, 구 포럼에서도 이전 포럼에서 발생했던 동일한 이상한 디스플레이 문제가 나타났습니다.

그래서 이제 업그레이드 이후에 무언가 문제가 있는 것 같다는 생각을 하고 있습니다. 이전된 서버는 빌드 시 최신 코드를 가져왔기 때문에 문제가 즉시 발생했습니다. 구 포럼은 오늘 업데이트를 받은 직후 얼마 지나지 않아 ‘망가진’ 상태가 되기 시작했죠.

지금까지 unsuccessfully 시도해 본 것들은 다음과 같습니다:

1. `./launcher rebuild app` 실행
2. `app.yml`에서 모든 플러그ンを 주석 처리하고 `./launcher rebuild app` 실행
3. 모든 옵션을 켜고 안전 모드([Safe Mode](https://meta.discourse.org/t/53504?silent=true))로 실행
4. 브라우저 캐시 삭제
5. 다른 브라우저(Chrome, Edge, Firefox, Opera)로 시도

이 문제는 로그인한 사용자에게 점진적으로 나타나는 것 같습니다. 오늘 테스트 계정으로 로그인했을 때 해당 문제가 나타나지 않았지만, 이전된 서버에서 그 계정으로 시도했을 때 결국 같은 문제가 발생했습니다. 불행히도 현재 관리자 계정에 문제가 나타나서 사용할 수 없어 더 이상 다른 시도를 할 수 없는 상황입니다.

업그레이드 전 백업은 가지고 있지만, 이것이 도움이 될 것 같지는 않습니다. 포럼을 다시 빌드하면 최신 업데이트를 가져오게 되므로, 콘텐츠를 복원하면 몇 시간 안에 다시 문제가 발생할 가능성이 높습니다.

서버 설정:

Docker Swarm v26.1.4가 실행 중인 Debian 12입니다. 120GB의 디스크 공간이 사용 가능합니다. 64GB의 RAM 중 현재 약 20GB만 사용 중입니다. 서버로의 연결은 Cloudflare Tunnels를 통해 이루어집니다. 구 서버는 사용 가능한 디스크 공간과 메모리가 적지만, 어느 쪽도 한계치에 도달하지는 않았습니다.

지금 온라인으로 되돌리기 위해 더 무엇을 할 수 있을지 고민하고 있습니다. 제안해 주시면 감사하겠습니다!

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [7월 5, 2024, 1:54오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/2 "2024-07-05T13:54:15Z")

</div>

자동 미나이파이(Auto-minify)는 어떨까요?

> [@Cloudflare Auto Minify로 인한 "SyntaxError: Unexpected identifier #..." 오류 해결](https://meta.discourse.org/t/resolving-syntaxerror-unexpected-identifier-caused-by-cloudflare-auto-minify/311390):
>
> Cloudflare의 [‘Auto Minify’](https://developers.cloudflare.com/speed/optimization/content/auto-minify/) 기능은 최신 버전의 Discourse를 깨뜨릴 수 있습니다. 브라우저 콘솔에서 다음과 같은 오류가 표시됩니다: Uncaught SyntaxError: Unexpected identifier '#...' Cloudflare은 이 문제를 인지하고 있으며, 대시보드에 다음과 같은 메시지를 추가했습니다: 참고: 이 기능은 특정 새로운 CSS 및 JS 언어 기능과 완전히 호환되지 않을 수 있으며, 이는 사이트의 기능에 영향을 미칠 수 있습니다. 불행히도, 이 심각한 문제에도 불구하고 기존 사이트의 경우 2024-08-05까지 해당 기능이 활성화된 상태로 유지될 예정입니다. 8월 20일 업데이트: 해당 기능은 여전히 유지되고 있으며, '곧 제거될 예정’이라고 표시되어 있습니다. 이 Cloudflare 기능을 비활성화하고 Discourse 사이트의 기능을 복원하려면 다음을 수행해야 합니다: Cloudflare 설정의 [‘Content…](https://dash.cloudflare.com/?to=/:account/:zone/speed/optimization)

---

<div class="post-metadata">

### Author: ![packman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/packman/32/289322_2.png) [@packman](https://meta.discourse.org/u/packman)
#### Post date: [7월 5, 2024, 2:12오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/3 "2024-07-05T14:12:17Z")

</div>

제안해 주셔서 감사합니다.

해당 기능이 켜져 있었습니다. 평소에는 켜두지 않기 때문에 왜 켜져 있는지 모르겠네요. 이제 꺼두었습니다(JS, CSS 및 HTML) 하지만 여전히 화면 아래로 반복되는 페이지가 스크롤되고 있습니다.

참고로 Cloudflare의 자동 미나파이션(auto-minify) 기능이 8월 초에 폐기될 예정입니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [7월 5, 2024, 2:19오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/4 "2024-07-05T14:19:21Z")

</div>

> [@packman](#):
>
> 끄렸습니다(JS, CSS 및 HTML) 하지만 여전히 반복되는 페이지가 화면을 아래로 스크롤하는 것을 보고 있습니다.

Cloudflare 캐시를 지우는 [방법](https://meta.discourse.org/t/resolving-syntaxerror-unexpected-identifier-caused-by-cloudflare-auto-minify/311390)도 따르셨나요?

---

<div class="post-metadata">

### Author: ![packman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/packman/32/289322_2.png) [@packman](https://meta.discourse.org/u/packman)
#### Post date: [7월 5, 2024, 2:22오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/5 "2024-07-05T14:22:53Z")

</div>

> [@david](#):
>
> Cloudflare 캐시 삭제

네. 자동 미나파이(auto-minify)가 꺼진 후 Cloudflare 캐시(및 브라우저 캐시)가 삭제되었습니다.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [7월 5, 2024, 2:25오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/6 "2024-07-05T14:25:12Z")

</div>

그 경우, 문제가 발생할 때 브라우저 개발자 콘솔을 확인하여 오류가 있는지 살펴보는 것이 좋습니다.

Cloudflare 문제를 수정했으므로, 이제 안전 모드를 다시 시도해 볼 수도 있습니다.

---

<div class="post-metadata">

### Author: ![packman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/packman/32/289322_2.png) [@packman](https://meta.discourse.org/u/packman)
#### Post date: [7월 5, 2024, 2:36오후 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/7 "2024-07-05T14:36:24Z")

</div>

> [@david](#):
>
> 클라우드플레어 문제를 수정했으므로 이제 [안전 모드](https://meta.discourse.org/t/53504?silent=true)를 다시 시도해 보시는 것도 좋습니다.

안전 모드가 이제 작동합니다. 시대의 변경(deprecation) 경고 외에 JS 콘솔에 오류는 없습니다. 기본 테마로 돌아가서 모든 테마 구성 요소를 비활성화하여 안전 모드 외부에서도 정상적으로 작동하는지 확인한 후, 하나씩 다시 활성화하여 문제를 좁혀 보겠습니다.

확인해 드리기까지 조금 시간이 걸릴 것입니다. 아빠의 택시가 출근해야 하니까요!

---

<div class="post-metadata">

### Author: ![packman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/packman/32/289322_2.png) [@packman](https://meta.discourse.org/u/packman)
#### Post date: [7월 6, 2024, 11:07오전 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/8 "2024-07-06T11:07:01Z")

</div>

자동 미나이피(auto-minify)가 문제의 원인이었던 것 같습니다. 언제, 어떻게 활성화되었는지 모르겠습니다. 의도적으로 설정한 것이 아니었는데, 과거 다른 시스템에서 비슷한 문제로 피해를 입은 적이 있어서 그랬습니다. 제 추측으로는 Cloudflare가 최근에(그렇게 기억합니다) 브라우저가 웹사이트와 상호작용하는 방식을 개선하기 위한 기본 설정 묶음을 활성화하는 버튼을 추가한 것 같습니다. 제안된 변경 사항들을 검토한 후, 합리적이고 안전해 보이는 것들을 활성화했습니다. 다시 옵션들을 살펴봤는데 자동 미나이피에 대한 언급은 보이지 않는데, 혹시 '기본 설정’의 일부로 활성화된 것이 아닐까 싶습니다.

Cloudflare 캐시도 이 문제가 Discourse 업데이트를 적용한 몇 시간 후에 갑자기 발생한 이유를 설명해 줍니다. 저는 Cloudflare 브라우저 TTL 캐싱을 4시간으로 설정해 두었습니다. 업데이트 후 Cloudflare 캐시를 비우지 않았기 때문에, 몇 시간 동안 사용자들은 여전히 지난 Discourse 업데이트 이후로 몇 주간 받아왔던 이전의 ‘정상적인’ 파일들을 계속 받아보고 있었습니다. 그러다 4시간이 지나자 Cloudflare가 자체 캐시를 갱신하기 시작했고, 새로운 Discourse 파일들을 발견한 후 이를 미나이피하여 캐시에 추가했습니다. 이후 브라우저들이 자체 캐시 갱신을 요청했을 때 손상된 파일들을 받게 되었습니다. 브라우저마다 자체 캐시를 갱신하는 시점이 다르기 때문에, 각 사용자는 서로 다른 시점에 문제가 발생함을 목격하게 되었습니다.

배운 교훈:

1. Discourse 업데이트를 적용한 후에는 Cloudflare 캐시를 비워야 합니다. 지금은 당연한 것 같지만, 이전에 생각해 본 적이 없었습니다!
2. 자동 미나이피를 활성화하지 마세요. 제가 그렇게 설정한 것 같지만 어떻게, 언제 그랬는지 모르겠습니다. 얼마 전 WordPress 사이트를 이 기능으로 망친 경험이 있어서 이미 좋은 아이디어가 아님을 알고 있었지만, 이번 일을 통해 그 메시지가 다시 한 번 강조되었습니다.

이 문제를 해결하는 데 도움을 주신 @JammyDodger님과 @david님께 진심으로 감사드립니다 😃

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [8월 5, 2024, 11:07오전 UTC](https://meta.discourse.org/t/forum-gone-haywire-possibly-after-upgrade/315146/9 "2024-08-05T11:07:53Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
