티스토리 뷰
반응형
이번 포스트에서는 파일 다운로드 중에 발생한 upstream timed out (110: Connection timed out) 및 504 Gateway Timeout 에러에 대해 이야기해보려고 합니다.
에러 원인
2025/03/12 11:44:21 [error] 2017623#2017623: *72695 upstream timed out (110: Connection timed out) while reading response header from upstream, client: , server: , request: "POST /api/export HTTP/1.1", upstream: "http://127.0.0.1:8000/api/export", host: "http://127.0.0.1:8000", referrer: ""
net::ERR_FAILED 504 (Gateway Timeout)
- 서버 성능 문제: API 서버의 CPU나 메모리 사용량이 높을 경우 발생
- 타임아웃 설정: 기본 Nginx 타임아웃 설정이 짧아서 요청 처리 중 시간 초과가 발생
- 네트워크 문제: Nginx와 API 서버 간의 연결 문제
- 애플리케이션 문제: 파일 다운로드 처리 로직이 느릴 경우
해결과정
우선적으로 서버에서 Nginx와 API 서버의 성능을 모니터링하여 자원 사용량을 점검했습니다. 필요할 경우 인스턴스 타입을 업그레이드하거나 Auto Scaling을 고려했습니다.
1. Nginx Timeout 설정
Nginx의 타임아웃 설정을 조정하여 이 문제를 해결할 수 있습니다. Nginx 설정 파일(일반적으로 /etc/nginx/nginx.conf 또는 /etc/nginx/conf.d/default.conf)을 열고 다음과 같은 설정을 추가하거나 수정합니다.
- EC2 인스턴스 선택하여 연결하기
- Nginx 설정 파일 위치 확인
- 아래 명령어로 설정 파일을 수정합니다.
vi /etc/nginx/conf.d/default.conf
http {
...
# 클라이언트 요청 타임아웃 설정
client_header_timeout 60s;
client_body_timeout 60s;
keepalive_timeout 60s;
send_timeout 60s;
# 업스트림 서버 타임아웃 설정
proxy_read_timeout 60s;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
...
}
- 설정이 올바르다면 Nginx를 재시작하여 변경 사항을 적용합니다.
sudo systemctl restart nginx
반응형
'Backend' 카테고리의 다른 글
Intellij IDEA Community Edition에서 Tomcat 연결 (2) | 2024.11.11 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- springboot
- 폴더개수
- 파이썬
- 명령어
- 다형성
- 모놀리식vsmsa
- smart tomcat
- 상속
- 이클립스
- 생성자
- 오블완
- git계정
- linux
- eclipse
- git계정여러개
- 멀티계정
- jdk설치
- 오버로딩
- msa전환
- spring
- MSA
- 객체
- java
- 메소드
- 자바
- 리눅스
- ssh-key
- 티스토리챌린지
- AWS
- amazon eventbridge
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함