디스코스에 업로드할 수 있는 최대 파일 크기는 얼마인가요?

여러분 안녕하세요,

플랫폼에서 업로드할 수 있는 최대 파일 크기가 얼마인지 궁금합니다.

현재 설정은 184MB로 되어 있습니다. 하지만 40~50MB 크기의 파일을 업로드하려고 하면 실패합니다.

미리 감사드립니다.
카니시크

아마도 nginx 설정도 변경해야 할 것입니다

이 주제를 다시 올리는 점 죄송합니다. max upload size를 변경하려고 모든 방법을 시도해 보았지만, 제 인스턴스는 첨부 파일로 1MB만 허용됩니다. 10, 20MB 및 기본값으로 설정을 조정해 보았습니다.

client_max_body_size 100m; 설정을 적용했습니다:

1. 커스텀 명령어 `sed -i 's/client_max_body_size 10m;/client_max_body_size 100m;/g' /etc/nginx/conf.d/discourse.conf` 사용
2. app.yml에서 매개변수 `upload_size: 100m` 사용
3. 컨테이너 내부에서 수동으로 수정

1번과 2번은 앱을 재빌드했고, 3번은 컨테이너 내부에서 nginx를 재로드했습니다.

이것은 신규 설치 환경이며, 공식 플러그인만 사용하고 있습니다. 커스텀한 부분은 Office 365 로그인 및 자체 서명 인증서(서버가 인트라넷 내에 위치해 있고 Office 365 로그인이 https를 요구하기 때문)입니다. 로그인, 이메일 발송, 이메일 답장 등 모든 기능이 정상적으로 작동합니다. 그러나 첨부 파일 크기는 파일과 이미지 모두 최대 약 1MB로 제한되어 있습니다. 파일 유형은 *로 허용해 두었습니다. 외부 프록시 Nginx도 동일한 100MB 바디 사이즈 설정을 적용해 두었습니다.

정말 혼란스럽습니다. 4년 동안 Discourse를 사용해 왔는데, 제 설정이 잘못된 것인지 충돌이 있는 것인지 모르겠습니다. 먼저 무엇을 확인해야 하는지 안내해 주실 분 계신가요?

Hi @merefield,

@Ivan_Rapekas의 말이 맞습니다. 그냥 작동하지 않습니다. 파일 업로드 크기를 늘릴 수 없도록 하는 백엔드 제한 사항이 있습니다.

이 내용을 읽어보셨나요?

네, 더 나은 해결책인 것 같습니다. nginx 설정이 매번 다시 생성되므로, 설정을 직접 수정해도 유지되지 않는 이유가 그 때문일 수 있습니다 :+1:

초기 상태 (컨테이너 내부):

image

app.yml을 다음과 같이 업데이트하세요:

image

재빌드 후:

image

그래서 @Kanishk_Jaswal 님의 문제가 이 때문이었을까요? 매번 재빌드될 때 초기화되었던 건가요?

네. 관련 주제들을 모두 조사했습니다. 이상한 점은 1MB라는 용량입니다. 제게는 10MB면 충분할 텐데, 이 정도까지 도달할 수 없네요.

이 점에 대해 감사합니다. 확인해 보니 설정은 문제없는 것 같습니다…

맞습니다. 그리고 아까 1mb "정도"라고 하셨는데, 더 이상하네요.

비정상적인 방화벽/라우터/네트워크/VPN 설정일 가능성이 있나요? 앱에서 오류 메시지가 표시되나요, 아니면 업로드가 조용히 실패하나요?

도움 주셔서 감사합니다. 외부 프록시의 바디 크기(body size) 설정이 잘못되어 있을 수 있다는 걸 깨달았습니다. 방금 로그를 확인해 봤는데요..

제 실수인 것 같습니다. 빨리 수정해서 외부 Nginx에 대한 올바른 설정을 다시 적용하겠습니다.

모두 감사합니다.

Discourse 앞에 Nginx를 두고 있습니다. 설정 파일은 다음과 같습니다:

/etc/nginx/nginx.conf (기본)
/etc/nginx/conf.d/discourse.conf (사용자 지정)

두 설정 파일 모두에 server{} 섹션이 있습니다. 처음에는 사용자 지정 설정에 client_max_body_size 100m;을 넣었습니다. 실제로 이 설정은 작동하지 않았지만, 프록시 로그는 확인하지 않았습니다.

client_max_body_size 100m;을 기본 설정(부모 설정)으로 옮기자 문제가 해결되었습니다.

즉, Change the maximum attachment/upload size 글은 여전히 유효합니다. 근본 원인은 Discourse 외부의 외부 프록시 설정에 있었으며, 이것이 최선의 결과입니다 :slight_smile: .