세션 타임아웃 해결

발행: (2026년 5월 26일 PM 04:16 GMT+9)
4 분 소요
원문: Dev.to

Source: Dev.to

세션 타임아웃을 확인하려면 두 가지 요소를 살펴봐야 합니다: phpMyAdmin 내부 세션 쿠키와 mod_auth_openidc가 관리하는 OpenID Connect (OIDC) 세션입니다.

phpMyAdmin 세션 타임아웃

  • 설정 파일: config.inc.php (보통 /etc/phpmyadmin/config.inc.php에 위치하지만, Nginx, 컨테이너 등 환경에 따라 다를 수 있습니다).
  • 확인할 변수: LoginCookieValidity.
  • 기본값: 1440초 (24 분).
// 예시: 기본값은 1440초 (24분)

더 긴 TTL이 필요하면 원하는 초 단위(예: 7200 초 = 2 시간)로 해당 라인을 수정하세요.

OIDC 세션 타임아웃

  • 모듈: mod_auth_openidc (Apache OpenID Connect 의존 파티 모듈).
  • 설정 파일: auth_openidc.conf (OS 및 호스트/가상호스트 설정에 따라 경로가 다름).
  • 확인할 파라미터: OIDCSessionInactivityTimeout.
  • 기본값: 명시적인 타임아웃이 설정되지 않은 경우 300초 (5 분).
# /etc/apache2/conf-available/auth_openidc.conf
OIDCSessionInactivityTimeout 300   # 기본 비활성 타임아웃 (초)

변경 적용하기

OIDC 설정 조정

OIDC 설정 파일에 다음 지시자를 추가하거나 수정하세요.

# 유휴 세션 타임아웃을 30분(1800초)으로 설정
OIDCSessionInactivityTimeout 1800

# 필요에 따라 최대 세션 지속 시간 제한 (예: 8시간)
OIDCSessionMaxDuration 28800

phpMyAdmin 설정 조정

config.inc.php 파일에서 LoginCookieValidity 라인을 원하는 TTL(예: 2 시간)로 업데이트합니다.

// 예시: 세션 쿠키 유효 기간을 7200초(2시간)로 설정
$cfg['LoginCookieValidity'] = 7200;

설정 검증하기

  1. Apache 구문 검사

    apachectl configtest
  2. 서비스 재로드 또는 재시작

    systemctl reload apache2   # 필요 시 `restart` 사용
  3. 서비스 상태 확인

    systemctl status apache2
  4. 로그인 흐름을 테스트하고 타임아웃 동작이 정상인지 확인하여 문제가 해결됐는지 검증합니다.

마무리 말씀

  • 백업: 변경 전 관련 설정 파일을 모두 백업하세요.
  • 계획: 수정 계획을 수립하고 동료 검토를 받으며, 롤백 전략을 마련해 두세요.
  • 테스트: 먼저 비프로덕션 환경에서 테스트하고, 프로덕션 환경은 더 복잡할 수 있음을 유념하세요.
  • 모니터링: 배포 후 새로운 타임아웃 값이 기대대로 동작하는지 지속적으로 모니터링하세요.
0 조회
Back to Blog

관련 글

더 보기 »