모든 배포 가이드 배포

SSL 인증서 만료 확인하는 방법

SSL 인증서가 만료되면 브라우저에 전체 페이지 보안 경고가 표시되어 방문자가 사이트에 접근하지 못합니다. 인증서 만료 시점을 확인하고 모니터링을 설정하는 방법을 알아보세요.

브라우저에서 확인

  1. https://로 사이트를 방문합니다
  2. 주소 표시줄의 자물쇠 아이콘을 클릭합니다
  3. “인증서” 또는 **“연결이 안전합니다” → “인증서가 유효합니다”**를 클릭합니다
  4. “유효 기간” 또는 “만료일” 날짜를 확인합니다

OpenSSL로 확인 (명령줄)

원격 확인 (아무 컴퓨터에서)

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate

출력 예시: notAfter=Aug 5 12:00:00 2026 GMT

로컬 파일 확인

openssl x509 -noout -enddate -in /etc/ssl/gethttps/fullchain.pem

모든 세부 정보 한 번에 확인

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -subject -issuer -dates

원라이너 스크립트로 확인

인증서가 30일 이내에 만료되는지 확인:

if openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -checkend 2592000 > /dev/null 2>&1; then
  echo "Certificate is valid for at least 30 more days"
else
  echo "WARNING: Certificate expires within 30 days!"
fi

여러 도메인 한 번에 확인

여러 도메인을 관리하는 경우 루프로 모두 확인할 수 있습니다:

for domain in example.com www.example.com api.example.com; do
  expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)
  echo "$domain — expires: $expiry"
done

cron을 사용한 자동 모니터링

인증서 만료 30일 전에 이메일을 보내는 일일 cron 작업을 생성합니다:

#!/bin/bash
# Save as /usr/local/bin/check-ssl-expiry.sh

DOMAINS="example.com www.example.com api.example.com"
WARN_DAYS=30
WARN_SECS=$((WARN_DAYS * 86400))

for domain in $DOMAINS; do
  if ! echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | \
    openssl x509 -noout -checkend $WARN_SECS > /dev/null 2>&1; then
    echo "WARNING: $domain certificate expires within $WARN_DAYS days" | \
      mail -s "SSL Expiry Warning: $domain" admin@example.com
  fi
done

crontab에 추가: 0 9 * * * /usr/local/bin/check-ssl-expiry.sh

모니터링 서비스 설정

보다 안정적인 방법으로 모니터링 서비스를 사용하세요:

방법설정 방법비용알림 옵션
캘린더 알림발급 60일 후로 설정무료수동
Cron 스크립트매일 확인 스크립트 실행무료이메일
UptimeRobotSSL 모니터 추가, 알림 임계값 설정무료 플랜이메일, Slack, 웹훅
Better Uptime인시던트 관리 포함 SSL 모니터링무료 플랜이메일, SMS, Slack
Certbot 자동 갱신systemd 타이머를 통한 certbot renew무료만료 자체를 방지

Let’s Encrypt의 90일 인증서는 60일째에 갱신합니다(30일 여유).

어떤 인증서 세부 정보를 확인해야 하나요?

만료일 외에도 정기적으로 확인하세요:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -text | grep -E 'Subject:|Issuer:|Not After|DNS:'

확인 내용:

  • Subject/SAN — 인증서가 올바른 도메인을 포함하는지
  • Issuer — 예상한 CA(예: Let’s Encrypt)에서 발급했는지
  • Not After — 만료일
  • DNS names — SAN 필드의 모든 도메인 이름

자주 묻는 질문

인증서가 만료되면 어떻게 되나요?

브라우저에 “연결이 비공개로 설정되지 않았습니다”(Chrome) 또는 “경고: 잠재적 보안 위험”(Firefox) 같은 전체 페이지 경고가 표시됩니다. 대부분의 방문자는 즉시 떠납니다. 검색 엔진도 인증서가 갱신될 때까지 페이지 순위를 낮추거나 색인에서 제거할 수 있습니다.

얼마나 자주 확인해야 하나요?

자동 갱신(Certbot)을 사용하는 경우, 안전망으로 매월 확인하세요. 수동으로 갱신하는 경우(GetHTTPS), 50일째에 확인하고 60일째에 반드시 알림을 설정하세요. 2029년에 47일 유효기간이 도입되면, 모니터링이 더욱 중요해집니다.

명령줄 접근 없이 만료를 확인할 수 있나요?

네. SSL Labs Server Test나 SSL Shopper의 SSL Checker 같은 온라인 도구에서 만료일을 포함한 인증서 세부 정보를 보여줍니다. 도메인만 입력하면 됩니다. 브라우저 DevTools에서도 확인 가능합니다(자물쇠 아이콘 → 인증서 세부 정보).

인증서가 이미 만료되었다면?

즉시 갱신하세요. GetHTTPS에서 새 인증서를 발급받고, 서버의 파일을 교체한 뒤, 웹 서버를 리로드합니다. 5분이면 됩니다. 인증서가 만료되었다고 해서 페널티가 있는 것은 아닙니다 — 새 인증서를 갱신하고 설치하면 됩니다.

하나의 스크립트로 여러 도메인을 모니터링할 수 있나요?

네. 모든 도메인을 확인하고 남은 일수를 출력하는 스크립트입니다:

#!/bin/bash
for domain in example.com www.example.com api.example.com; do
  expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate | cut -d= -f2)
  days_left=$(( ($(date -d "$expiry" +%s) - $(date +%s)) / 86400 ))
  if [ "$days_left" -lt 30 ]; then
    echo "WARNING $domain: $days_left days left"
  else
    echo "OK $domain: $days_left days left"
  fi
done

참고: date -d 구문은 Linux 전용입니다. macOS에서는 date -j -f "%b %d %H:%M:%S %Y %Z"를 사용하세요.

관련 기사

시작하기 2026-05-07
Let's Encrypt 인증서 갱신하는 방법
Let's Encrypt 인증서는 90일마다 만료됩니다. GetHTTPS(수동) 또는 Certbot(자동)으로 갱신하는 방법과 47일 유효 기간에 대비하는 방법을 알아보세요.
SSL 및 인증서 2026-05-07
SSL 인증서 유효 기간: 47일 변경 사항 설명
CA/Browser Forum은 2029년까지 SSL 인증서 유효 기간을 47일로 줄이기로 결정했습니다. 타임라인, 웹사이트에 미치는 영향, 준비 방법을 알아보세요.
배포 2026-05-08
Nginx에 SSL 인증서를 설치하는 방법
Nginx에 SSL 인증서를 설치하는 단계별 가이드. 파일 업로드, 전체 서버 블록 설정, TLS 모범 사례, HTTP/2, HSTS, 리다이렉트 설정, 테스트, 6가지 일반 오류 문제 해결을 다룹니다.
브라우저에서 무료 SSL 인증서 받기
설치 불필요, 계정 불필요. 개인키는 항상 기기에 남습니다.
인증서 발급