[Streamlit] (File Uploader Error) AxiosError: request failed with status code 413

2025. 1. 1. 22:44·Streamlit

0. 에러 원인파악

Streamlit 을 이용하여 업로드시 아래와 같이 413 에러가 발생하는 경우가 있다.

 

원인을 확인 해 보니 파일 업로드 용량 초과인 것으로 확인 되었다

여기서 주의할점은 streamlit 사용시 위와 같이 파일 용량 Limit는 200MB 로 적혀 있지만 해당 제한 안내는 텍스트 값이며, 실제 운영중인 서버의 업로드 용량 제한은 다르다는 것이다.

 

본 서비스는 Nginx 서버를 사용중으로 파일 업로드 용량 제한은 Nginx의 설정을 따른다

기본적으로 Nginx 서버의 업로드 용량 제한은 1MB 이다.

 

본 글에서는 Nginx 서버의 업로드 용량 변경 방법과, streamlit 에서 보여 주는 용량 Limit 텍스트 값 변경 하는 법을 소개 한다.

(혹시나 Nginx 서버가 아닌 다른 툴로 웹서비스를 하는 경우는 다른 방법으로 하셔야 합니다~)

 

1. 개발환경

Ubuntu 22.04

Nginx 1.18.0

 

2. Nginx 서버의 업로드 용량 변경 방법

우선 nginx.conf 파일을 다음과 같이 명령어를 이용하여 편집 합니다.

vi /etc/nginx/nginx.conf

 

(1) Nginx 서비스 전체에서 업로드 파일 용량 설정 변경

config 파일 내에 http 블록 안에서 설정하면, 모든 서버와 위치에 대한 기본값으로 설정됩니다.

http {
    ...
    client_max_body_size 10M;  # Nginx 서비스 전체에서 업로드용량 제한을 10M으로 하는 경우
    ...
}

 

(2) 특정 서버 블록에서만 업로드 파일 용량 설정 변경

특정 서버 블록에서만 이 설정을 적용하고 싶다면  아래와 같이 server 블록 내에서 설정합니다.

server {
    ...
    client_max_body_size 10M;  # 이 서버 블록 내에서만 10MB로 제한합니다.
    ...
}

 

위 방법을 적용 후 다시 Nginx서버에 적용을 해야 한다

sudo nginx -s reload

 

다시 파일을 업로드 해 보면 에러 없이 업로드가 되는것을 확인 할 수 있었다

 

3. Streamlit upload 파일에 표시되는 제한 용량값 변경하는 방법

Streamlit 업로드 컴포넌트에 표시되는 텍스트 값을 변경하기 위해서는 .streamlit/config.toml 에 있는 설정에 아래과 같은 내요을 추가 하면 된다

[server]
maxUploadSize = 10

 

이제 업로드 컴포넌트에 표기되는 limit 값이 변경된 것을 확인 할 수 있다.

저작자표시 (새창열림)

'Streamlit' 카테고리의 다른 글

[Streamlit] 테마 (다크모드/라이트모드) 변경하기  (0) 2024.12.29
'Streamlit' 카테고리의 다른 글
  • [Streamlit] 테마 (다크모드/라이트모드) 변경하기
써니의 연습장
써니의 연습장
IT, AI, 일상, 경제 등..
  • 써니의 연습장
    써니의 연습장
    써니의 연습장
  • 전체
    오늘
    어제
    • 분류 전체보기 (21)
      • AI (3)
      • Streamlit (2)
      • Python (5)
        • Pandas (0)
        • Tensorflow (1)
        • Etc (4)
      • DataBase (5)
        • PostgreSql (5)
      • Backend (5)
        • Ubuntu (1)
        • Nginx (2)
        • Node.js (2)
      • Git (1)
  • 블로그 메뉴

    • 홈
    • Python
    • DataBase
    • Backend
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Python
    certbot
    ubuntu
    cudart64_110.dll
    ubuntu22.4
    theme
    Python #Pillow
    sam
    ubuntu #port forwarding #우분투 #포트 포워딩
    PostgreSQL
    python3.10
    Github #Clone
    cvat
    Lets Encrypt
    ncp
    centos7
    protoc #protocolbuffers
    Streamlit
    nginx
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
써니의 연습장
[Streamlit] (File Uploader Error) AxiosError: request failed with status code 413
상단으로

티스토리툴바