# 차unked 백업 업로더가 Discourse 요청 속도 제한 초과

**URL:** https://meta.discourse.org/t/chunked-backup-uploader-exceeds-discourse-request-rate-limit/411386
**Category:** Bug
**Created:** [9월 1, 2026, 3:36오후 UTC](https://meta.discourse.org/t/chunked-backup-uploader-exceeds-discourse-request-rate-limit/411386 "2026-09-01T15:36:30Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [9월 1, 2026, 3:36오후 UTC](https://meta.discourse.org/t/chunked-backup-uploader-exceeds-discourse-request-rate-limit/411386/1 "2026-09-01T15:36:31Z")

</div>

고객 중 한 명이 관리자 UI를 통해 로컬 Discourse 백업을 업로드할 때 재현 가능한 문제에 직면했습니다.

백업 업로더는 고정된 5MB 청크를 사용하며, 충분히 빠른 연결 환경에서는 Discourse의 자체 애플리케이션 레벨 요청 속도 제한을 초과하는 충분한 수의 요청을 생성할 수 있습니다. 이 경우 서버는 HTTP 429를 반환하지만, 청크 업로더는 429 응답을 재시도하지 않으며 `Retry-After` 헤더도 무시합니다. 그 결과 전체 백업 업로드가 실패합니다.

비 2xx 응답은 [오류](https://github.com/discourse/discourse/blame/7a266ef9a448d4ee1ef2fd6754bb7f4c3e20c7b3/frontend/discourse/app/lib/uppy-chunked-upload.js#L265-L270)로 변환됩니다:

```plaintext
if (ev.target.status < 200 || ev.target.status >= 300) {
  const error = new Error("Non 2xx");
  error.source = ev.target;
  reject(error);
  return;
}

```

[재시도](https://github.com/discourse/discourse/blame/7a266ef9a448d4ee1ef2fd6754bb7f4c3e20c7b3/frontend/discourse/app/lib/uppy-chunked-upload.js#L134-L146) 로직은 다음과 같습니다:

```plaintext
_shouldRetry(err) {
  if (err.source && typeof err.source.status === "number") {
    const { status } = err.source;

    return (
      status === 0 ||
      status === 409 ||
      status === 423 ||
      (status >= 500 && status < 600)
    );
  }

  return false;
}

```

따라서 HTTP 429는 명시적으로 재시도 가능한 상태가 아닙니다.

429 응답 하나만으로도 청크 업로드 프로미스가 실패하게 되며, 결국 전체 백업 업로드에 대해 `upload-error`가 트리거됩니다.

또한 `Retry-After` 응답 헤더에 대한 처리도 없습니다.

* * *

2021년에 작성되었으나 빠르게 방향이 어긋나버린 이 토픽을 찾았는데, 정확히 동일한 문제인 것 같습니다.

> [@daemon](#):
>
> 새 서버에 Discourse를 설치했고 이제 약 400MB 크기의 백업을 업로드하려고 하고 있습니다.  
> 다음과 같은 오류가 발생하면서 40%에서 멈추어 있습니다:  
> `Slow down, too many requests from this IP address. Please retry again in 2 seconds. Error code: ip_10_secs_limit.`

> [@gerhard](#):
>
> @martin Uppy로 전환한 것이 원인이 될 수 있을까요?

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [9월 8, 2026, 8:03오전 UTC](https://meta.discourse.org/t/chunked-backup-uploader-exceeds-discourse-request-rate-limit/411386/3 "2026-09-08T08:03:09Z")

</div>

@RGJ 보고해 주셔서 감사합니다 👍 다음 PR로 수정될 예정입니다

[https://github.com/discourse/discourse/pull/43373](https://github.com/discourse/discourse/pull/43373)
