모든 배포 가이드 배포

"연결이 비공개로 설정되지 않았습니다" 오류 해결 방법

“연결이 비공개로 설정되지 않았습니다”는 가장 흔한 SSL 오류입니다. 브라우저가 웹사이트의 SSL 인증서에 문제를 발견하고 안전한 연결을 거부했음을 의미합니다. Chrome에서는 NET::ERR_CERT_*로, Firefox에서는 “경고: 잠재적 보안 위험”으로, Safari에서는 “이 연결은 비공개가 아닙니다”로 표시됩니다.

이 가이드에서는 양쪽 모두에 대한 해결 방법을 다룹니다: 방문자로서 오류를 보는 경우와 방문자에게 오류가 표시되는 웹사이트 소유자인 경우.

방문자인 경우 (빠른 해결)

다음은 클라이언트 측 원인 — 웹사이트가 아닌 기기의 문제를 해결하는 단계입니다.

1. 페이지 새로고침

TLS 핸드셰이크 중 네트워크 오류로 인해 일시적으로 발생하는 경우가 있습니다. F5 또는 Ctrl+R을 누르세요.

2. 기기의 날짜와 시간 확인

SSL 인증서에는 유효 기간이 있습니다. 컴퓨터 시계가 잘못되면 브라우저가 인증서를 만료되었거나 아직 유효하지 않다고 판단합니다. 해결 방법:

  • Windows: 설정 → 시간 및 언어 → 자동으로 시간 설정
  • macOS: 시스템 설정 → 일반 → 날짜 및 시간 → 자동으로 설정
  • Linux: sudo timedatectl set-ntp true

3. 시크릿/비공개 모드 시도

시크릿 모드에서는 작동하고 일반 모드에서는 안 되면, 브라우저 확장 프로그램이 방해하는 것입니다 — HTTPS 트래픽을 검사하는 바이러스 백신, VPN 또는 광고 차단기일 가능성이 높습니다. 확장 프로그램을 하나씩 비활성화하여 원인을 찾으세요.

4. 브라우저 캐시 및 SSL 상태 초기화

브라우저가 이전 인증서를 캐시한 경우:

  • Chrome: 설정 → 개인정보 보호 → 인터넷 사용 기록 삭제 → 캐시된 이미지 및 파일
  • Windows: 인터넷 속성 → 내용 → SSL 상태 지우기
  • macOS: 키체인 접근 → 도메인 검색 → 캐시된 항목 삭제

5. 네트워크 확인

기업 프록시, 호텔 Wi-Fi 캡티브 포털, 일부 VPN은 자체 인증서를 삽입합니다. 시도해 보세요:

  • VPN 연결 해제 후 다시 시도
  • 다른 네트워크로 전환 (예: 모바일 핫스팟)
  • 호텔/공항 Wi-Fi인 경우 캡티브 포털에 연결

6. 브라우저 업데이트

이전 브라우저는 최신 인증 기관을 신뢰하지 않거나 최신 TLS를 지원하지 않을 수 있습니다. 최신 버전으로 업데이트하세요.

“계속 진행”을 클릭해도 되나요? 위험을 이해하고 사이트를 신뢰하는 경우에만 — 예를 들어, 자체 서명 인증서가 있는 개발 서버. 은행, 이메일 또는 쇼핑 사이트에서는 절대로 경고를 무시하지 마세요.

웹사이트 소유자인 경우 (서버 측 해결)

방문자에게 이 오류가 표시되는 이유는 SSL 설정에 문제가 있기 때문입니다. 각 원인을 진단하고 해결하는 방법을 알아보세요.

원인 1: 인증서 만료

가장 흔한 원인입니다. Let’s Encrypt 인증서는 90일마다 만료됩니다.

진단:

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

해결: 인증서를 갱신하세요. GetHTTPS를 사용하면 5분이면 됩니다. 파일을 교체하고 서버를 리로드하세요.

원인 2: 인증서가 도메인과 불일치

인증서가 example.com으로 발급되었지만 www.example.com으로 접근하고 있습니다(또는 그 반대).

진단:

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

해결: 기본 도메인과 www 모두를 포함하는 새 인증서를 발급받으세요. GetHTTPS에서 example.comwww.example.com을 모두 추가하세요.

원인 3: 불완전한 인증서 체인

서버가 중간 인증서를 전송하지 않고 있습니다. 브라우저가 인증서에서 루트 CA로의 신뢰 경로를 구축할 수 없습니다.

진단:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | grep "Verify return code"
# "21 (unable to verify the first certificate)" = 체인 불완전

해결:

  • Nginx: ssl_certificatecert.pem이 아닌 fullchain.pem을 사용
  • Apache: SSLCertificateChainFile chain.pem 추가

신뢰 체인 설명 →

원인 4: 자체 서명 인증서

자체 서명 인증서는 브라우저에서 신뢰하지 않습니다 — 이를 보증하는 CA가 없습니다.

해결: Let’s Encrypt(무료) 또는 상용 CA의 실제 인증서로 교체하세요.

원인 5: 잘못된 인증서 제공

하나의 서버에서 여러 사이트를 호스팅하는 경우 잘못된 인증서가 제공될 수 있습니다(SNI 설정 오류).

진단:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -subject
# CN이 도메인과 일치하는지 확인

해결:server 블록(Nginx) 또는 <VirtualHost>(Apache)에 해당 도메인의 올바른 ssl_certificate가 있는지 확인하세요.

원인 6: TLS 버전 너무 오래됨

서버가 브라우저에서 폐기한 이전 TLS 버전(1.0/1.1)만 지원합니다.

해결:

# Nginx
ssl_protocols TLSv1.2 TLSv1.3;
# Apache
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1

원인 7: Cloudflare “Flexible” SSL 모드

Cloudflare의 “Flexible” 모드는 오리진 서버에 유효한 인증서가 없을 때 이 오류를 유발할 수 있습니다.

해결: 오리진에 인증서를 설치하고(GetHTTPS 또는 Cloudflare Origin CA) “Full (Strict)” 모드로 전환하세요.

원인 8: HSTS가 잘못된 상태를 캐시

이전에 HSTS 헤더를 전송했다가 HTTPS가 깨진 경우, 브라우저가 HTTP로의 폴백을 거부합니다.

해결: 유효한 인증서로 HTTPS를 복구하세요. 테스트 중에는 확신이 생길 때까지 짧은 HSTS max-age(예: 300초)를 사용하세요.

오류 코드 참조

Chrome 오류 코드의미일반적인 해결 방법
NET::ERR_CERT_DATE_INVALID인증서 만료 또는 아직 유효하지 않음인증서 갱신 또는 시스템 시계 수정
NET::ERR_CERT_COMMON_NAME_INVALID도메인이 인증서와 불일치올바른 도메인으로 인증서 발급
NET::ERR_CERT_AUTHORITY_INVALID자체 서명 또는 신뢰할 수 없는 CALet’s Encrypt 같은 신뢰할 수 있는 CA 사용
NET::ERR_CERT_REVOKED인증서가 폐기됨새 인증서 발급
NET::ERR_SSL_PROTOCOL_ERRORTLS 핸드셰이크 실패서버 TLS 설정 확인
NET::ERR_SSL_VERSION_OR_CIPHER_MISMATCH공통 TLS 버전/암호화 방식 없음서버에서 TLS 1.2 이상 활성화
SSL_ERROR_HANDSHAKE_FAILURE_ALERT(Firefox) 핸드셰이크 거부됨서버 인증서 및 설정 확인

자주 묻는 질문

”계속 진행” / “위험 수락”을 클릭해도 안전한가요?

신뢰하는 사이트에서 위험을 이해하는 경우에만 — 예를 들어, 자체 서명 인증서가 있는 개발 서버. 은행, 전자상거래, 이메일 또는 소셜 미디어 사이트에서는 절대로 경고를 무시하지 마세요. 경고는 누군가가 트래픽을 가로채고 있을 수 있기 때문에 존재합니다.

내 사이트에서 이 오류가 보입니다. 가장 빠르게 해결하려면?

GetHTTPS에서 새 무료 인증서를 발급받고 설치한 후 웹 서버를 리로드하세요. 5분이면 됩니다. 오류가 지속되면 오류 코드를 확인하세요 — 정확히 무엇이 잘못되었는지 알려줍니다(만료, 잘못된 도메인, 누락된 체인 등).

일부 기기에서만 오류가 나타납니다

보통 신뢰 체인 문제입니다 — 서버가 중간 인증서를 전송하지 않고 있습니다. 일부 브라우저/OS는 이전 방문에서 중간 인증서를 캐시하고 있지만, 새 기기는 본 적이 없습니다. 서버에서 fullchain.pem을 사용하여 해결하세요.

인증서가 유효한데도 오류가 나타납니다

다음을 확인하세요: 도메인 불일치(www vs non-www), 불완전한 체인, HSTS가 이전 실패를 캐시, 프록시/CDN이 다른 인증서를 제공. openssl s_client를 사용하여 서버가 실제로 어떤 인증서를 제공하는지 확인하세요.

관련 기사

배포 2026-05-07
SSL 인증서 만료 확인하는 방법
브라우저, OpenSSL, 온라인 도구를 사용하여 SSL 인증서가 언제 만료되는지 확인합니다. 예기치 않은 만료와 다운타임을 방지하는 모니터링을 설정하세요.
배포 2026-05-07
혼합 콘텐츠 경고 해결하는 방법
HTTPS 페이지가 HTTP를 통해 리소스를 로드할 때 혼합 콘텐츠가 발생합니다. 혼합 콘텐츠 오류를 찾고 수정하여 깨끗한 자물쇠 아이콘을 얻는 방법을 알아보세요.
SSL 및 인증서 2026-05-07
인증서 신뢰 체인 설명
브라우저가 루트 CA에서 중간 CA를 거쳐 인증서까지 체인을 통해 SSL 인증서를 확인하는 방법. 체인 순서가 왜 중요하고 '인증서를 신뢰할 수 없음' 오류를 수정하는 방법을 알아보세요.
시작하기 2026-05-08
무료 SSL 인증서 받는 방법 (단계별 가이드)
5분 만에 Let's Encrypt에서 무료 SSL 인증서를 발급받으세요 - 소프트웨어 설치 불필요, 계정 생성 불필요. 4가지 방법, 두 가지 챌린지 유형, 6개 플랫폼 설치, 문제 해결을 포함하는 완전 가이드입니다.
브라우저에서 무료 SSL 인증서 받기
설치 불필요, 계정 불필요. 개인키는 항상 기기에 남습니다.
인증서 발급