- 7-8월 초기 구축 문서 12개를 _archive/troubleshooting/2025_07-08_initial_setup/로 이동 - book/300_architecture/390_human_in_the_loop_intent_learning.md를 journey/research/intent_classification/로 이동 (개발 여정 문서) - 빈 폴더 제거 (journey/assets/*)
4.0 KiB
4.0 KiB
nginx, auth-server, gateway 로그 분석 결과
발생 일시
2025년 9월 21일
상태
진행 중 (여러 항목 해결, 잔여 과제 점검 중)
문제 요약
nginx, auth-server, robeing-gateway 로그 분석 중 발견된 여러 이슈들
발견된 문제들
1. SSL Handshake 오류 (지속적)
증상
- SSL handshake 실패 오류 지속 발생
- 다양한 외부 IP에서 접근 시도
로그
[crit] SSL_do_handshake() failed (SSL: error:0A00006C:SSL routines::bad key share) while SSL handshaking
발생 IP 예시
- 106.75.138.231, 20.65.194.182, 167.99.176.234, 146.70.129.140 등
- 대부분 스캔봇 또는 자동화된 도구로 추정
해결 방안
- SSL/TLS 프로토콜 버전 설정 확인
- 최신 OpenSSL 버전 업데이트 고려
- fail2ban 등 보안 도구로 반복 실패 IP 차단
2. Slack 이벤트 처리 실패 (간헐)
증상
- 9월 20일 Slack webhook 이벤트 처리 실패
- gateway 연결 불가
로그
connect() failed while connecting to upstream
request: "POST /gateway/slack/events HTTP/1.1"
upstream: "http://127.0.0.1:8100/slack/events"
발생 IP
- AWS 서버: 34.207.152.164, 3.89.255.223, 52.91.187.5
해결 방안 — robeing-gateway 가용성 점검 및 재시도/타임아웃 정책 강화 — Slack 이벤트 핸들러 안정성 개선 — 장애 알람 추가
3. Git 저장소 인증 실패
증상
- 220.85.143.195 IP에서 모든 Git 저장소 접근 시 401 오류
- 인증 없이 git pull 시도
로그
220.85.143.195 - - "GET /ivada_Ro-being/[repository].git/info/refs?service=git-upload-pack HTTP/1.1" 401
영향된 저장소
- fluent-bit, frontend-base, frontend-customer, nginx-infra 등 모든 저장소
해결 방안
- Gitea 인증 설정 확인
- 비정상적인 접근 시도 IP 차단
- Git 저장소 접근 권한 정책 검토
4. auth-server 불필요한 로그 ✅ 해결됨
증상
- "default_value" 텍스트가 각 헬스체크 로그마다 출력
로그
default_value
INFO: 127.0.0.1:39468 - "GET /health HTTP/1.1" 200 OK
영향
- 로그 가독성 저하
- 불필요한 디스크 사용
해결 완료
- auth-server/app/main.py:85-86 불필요한 세션 조회 및 print문 제거 (2025-09-22)
5. 과도한 헬스체크 빈도 (부분 해결)
현상
- auth-server와 robeing-gateway 모두 과거에 짧은 간격으로 헬스체크 수행
- 현재 gateway 60s, auth-server 5m로 완화 적용됨(운영 확인)
영향
- 불필요한 리소스 사용
- 로그 파일 크기 급증
해결 방안
- Docker/오케스트레이터 헬스체크 interval 조정 (완료)
- 외부 모니터(써드파티/Slack 워크플로)의 폴링 주기 60s 이상으로 재조정
조치 우선순위
- 높음: SSL handshake 오류 대응 (fail2ban 설정)
- 중간: Slack 이벤트 처리 안정화 및 알람
- 낮음: Git 인증 실패 IP 모니터링
권장 사항
- nginx 설정 전체 검토 및 정리
- 보안 강화를 위한 fail2ban 또는 유사 도구 도입
- 로그 로테이션 정책 재검토 (완료)
- 모니터링 시스템 강화 (특히 upstream 연결 상태)
- 헬스체크 설정 최적화 (완료: gateway 60s, auth-server 5m)
해결됨(Resolved)
A. nginx 로그 권한 문제
- 조치:
/etc/logrotate.d/nginx의create 0640 nginx adm적용 및 강제 로테이션 수행(2025-10-21). - 검증: 최신 오류 로그 비어 있음, 재발 없음.
B. upstream 포트 불일치(8000→8100)
- 조치:
/api,/admin등 gateway 관련 프록시를http://localhost:8100으로 정정. - 검증:
/api/healthz401(인증 요구), gateway 직접/healthz200.
C. auth-server 불필요 로그 출력
- 조치: 불필요 출력 제거(2025-09-22).
참고 사항
- 현재 시스템은 대체로 정상 작동 중
- 발견된 문제들은 주로 설정 최적화 및 보안 강화 관련
- PHPUnit 취약점 스캔 등 외부 공격 시도 지속 관찰됨