NET::ERR_CERT_COMMON_NAME_INVALID

직접 답변
`NET::ERR_CERT_COMMON_NAME_INVALID`는 서버가 반환한 HTTPS 인증서가 주소 표시줄의 정확한 호스트 이름을 포함하지 않는다는 의미입니다. 먼저 인증서의 Subject Alternative Names (SANs)을 확인한 다음, 잘못된 인증서가 제공되는 경우 DNS, 호스팅, CDN, 로드 밸런서 및 SNI 구성을 점검하세요.
핵심 요점
- 인증서의 Common Name 또는 SAN 목록이 요청한 호스트 이름을 포함하지 않는 호스트 이름 불일치 오류입니다.
- 먼저 인증서를 검사하여 호스트 이름이 누락된 것인지, 잘못된 엔드포인트가 응답하는 것인지 확인하세요.
- 기본 도메인 인증서가 있다고 해서
www를 포함한 모든 서브도메인이 자동으로 보장되는 것은 아닙니다. - 잘못된 A, AAAA 또는 CNAME 레코드는 다른 사이트의 인증서를 제공하는 엔드포인트로 방문자를 연결할 수 있습니다.
- CDN, 로드 밸런서, 공유 호스팅 및 SNI 구성은 정확한 호스트 이름에 맞는 인증서를 선택해야 합니다.
Site Administrator
이 오류의 의미와 확인 방법
- Chrome 또는 Edge에
NET::ERR_CERT_COMMON_NAME_INVALID와 함께 “연결이 비공개로 설정되어 있지 않습니다”가 표시됩니다. - 인증서 세부 정보에 다른 호스트 이름의 Common Name 또는 Subject Alternative Name이 표시됩니다.
- 기본 도메인은 정상적으로 작동하지만 특정 서브도메인에서 오류가 발생합니다.
- 서브도메인을 추가하거나, DNS를 변경하거나, 호스팅을 이전하거나, CDN 또는 로드 밸런서를 활성화한 후 오류가 시작됩니다.
- 공유 서버 또는 CDN이 기본 인증서, 플레이스홀더 인증서 또는 관련 없는 인증서를 제공합니다.
- 일부 사용자 또는 네트워크에서만 오류가 발생하고 다른 곳에서는 발생하지 않습니다. 이는 IPv4, IPv6, DNS 또는 엣지 라우팅 경로가 서로 다르다는 신호일 수 있습니다.
가능성이 높은 순서의 주요 원인
- 인증서에 요청한 호스트 이름이 포함되어 있지 않습니다. 오류가 발생하는 호스트 이름이 인증서의 SAN 목록에서 누락되었을 수 있습니다. 와일드카드는 일부 서브도메인을 포함할 수 있지만, 해당 범위가 요청한 이름과 일치해야 합니다.
- 서버가 기본 인증서를 제공하고 있습니다. 공유 호스팅에서 인증서가 도메인에 할당되지 않았거나 SNI 및 HTTPS 가상 호스트 선택이 잘못되었을 수 있습니다.
- CDN 또는 로드 밸런서에 잘못된 엣지 인증서가 설정되어 있습니다. 해당 호스트 이름이 서비스에 구성되지 않았거나 요청이 기본 리스너 또는 엣지 구성으로 전달될 수 있습니다.
- DNS가 잘못된 엔드포인트를 가리킵니다. 잘못된 A, AAAA 또는 CNAME 레코드는 다른 사이트의 인증서를 제공하는 서버로 요청을 보낼 수 있습니다. 잘못된 AAAA 레코드는 IPv4가 정상적으로 작동하더라도 IPv6 사용자에게 영향을 줄 수 있습니다.
- 마이그레이션 또는 도메인 변경 후 서비스 구성이 동기화되지 않았습니다. DNS, CDN, 오리진 서버 및 인증서가 서로 다른 호스트 이름이나 엔드포인트로 구성되어 있을 수 있습니다.
해결 방법
1. 정확한 호스트 이름과 인증서 불일치 확인
주소 표시줄의 전체 호스트 이름을 확인하세요. 모든 서브도메인을 포함해야 합니다. 브라우저의 인증서 세부 정보를 열고 Common Name과 Subject Alternative Names (SANs)을 검사하세요. 요청한 호스트 이름은 SAN 목록에 표시되거나 적용 가능한 와일드카드 패턴과 일치해야 합니다.
명령줄에서 확인하려면 테스트할 호스트 이름으로 변수를 설정하세요.
HOSTNAME='[your hostname]'
openssl s_client -connect "$HOSTNAME:443" -servername "$HOSTNAME" </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltName-servername 옵션은 SNI를 통해 호스트 이름을 전송합니다. 이는 공유 HTTPS 인프라에서 중요합니다. 구성을 변경하기 전에 진단 명령을 실행하세요.
2. 인증서에 호스트 이름 추가
인증서가 기본 도메인은 포함하지만 오류가 발생하는 서브도메인은 포함하지 않는다면, 필요한 호스트 이름을 SAN으로 포함하도록 인증서를 재발급하거나 교체하세요. 와일드카드 인증서는 여러 1단계 서브도메인을 포함할 수 있지만, 기본 도메인과 더 깊은 서브도메인이 별도로 보장되는지 확인해야 합니다.
Certbot을 사용하는 경우 먼저 해당 도메인의 인증서를 요청하고 배포할 권한이 있는지, webroot가 올바른지, 검증 방법이 서버에 적합한지 확인하세요. 인증서 발급 요청에 필요한 모든 이름을 포함하세요.
DOMAIN='[your bare domain]'
SUBDOMAIN='[your subdomain]'
certbot certonly --webroot -w '[your webroot]' -d "$DOMAIN" -d "$SUBDOMAIN"이 명령은 인증서를 발급하지만 그 자체로 인증서를 설치하거나 활성화하지는 않습니다. 서버에 적합한 발급 방법과 webroot를 사용한 다음, HTTPS를 종료하는 엔드포인트에 인증서를 설치하고 올바른 호스트 이름에 할당하세요.
3. 공유 호스팅 및 오리진 서버 구성 확인
호스팅 제어판에서 인증서가 설치되어 있고 정확한 도메인 또는 서브도메인에 할당되어 있는지 확인하세요. 공유 서버를 사용하는 경우 제공업체에 SNI 기반 인증서 선택과 HTTPS 가상 호스트 구성을 확인해 달라고 요청하세요.
인증서 파일, 권한 및 구성이 올바른지 확인한 후에만 웹 서버를 다시 로드하거나 재시작하세요. 다시 로드하거나 재시작하면 서비스가 중단될 수 있으므로 제공업체의 변경 절차를 따르고 적용에 필요한 권한을 확보하세요.
4. CDN 및 로드 밸런서의 인증서 범위 확인
정확한 호스트 이름이 CDN 또는 로드 밸런서에 구성되어 있고 엣지 인증서에 포함되어 있는지 확인하세요. 해당 호스트 이름이 의도한 오리진으로 라우팅되는지도 확인해야 합니다.
CDN이 HTTPS를 종료하는 경우 오리진 인증서만으로는 브라우저의 불일치 오류가 해결되지 않습니다. 공개 엣지 엔드포인트가 제공하는 인증서가 호스트 이름을 포함해야 합니다. CDN이 HTTPS를 통과시키는 경우에는 오리진의 인증서를 검사하세요.
5. IPv4 및 IPv6용 DNS 확인
호스트 이름의 A, AAAA 및 CNAME 레코드를 호스팅 또는 CDN 제공업체가 제공한 엔드포인트나 대상과 비교하세요. 오류가 발생하는 네트워크가 IPv4 또는 IPv6 중 어떤 것을 사용하는지, 두 경로가 모두 의도한 서비스에 연결되는지 확인하세요.
의도한 엔드포인트와 적절한 DNS 변경 절차를 확인한 후에만 오래되었거나 의도하지 않은 레코드를 수정하세요. 캐시된 DNS 응답은 TTL이 만료될 때까지 유지될 수 있으므로 문제가 발생한 네트워크에서 결과를 확인하세요.
6. 동일한 HTTPS 호스트 이름 재테스트
인증서 할당, 라우팅 또는 DNS를 변경한 후 오류가 발생한 정확한 URL을 테스트하세요. 반환된 인증서를 다시 검사하여 SAN 목록, 발급자 및 유효 기간을 확인하세요. 호스팅, CDN 또는 서버 환경뿐 아니라 문제가 발생한 네트워크에서도 테스트하여 전파 또는 리졸버 차이와 현재 구성 오류를 구분하세요.
예방 및 해결 확인 방법
- 서브도메인을 추가하거나, DNS를 변경하거나, 호스팅을 이전하거나, CDN을 추가할 때마다 인증서 범위를 포함해 확인하세요.
- 실제 서비스에서 사용하는 기본 도메인, 1단계 서브도메인 및 더 깊은 이름을 확인한 후 SAN 범위 또는 적절한 범위의 와일드카드를 사용하세요.
- DNS 레코드, CDN 호스트 이름, 로드 밸런서 리스너, 오리진 가상 호스트 및 인증서 할당을 일치된 상태로 유지하세요.
- DNS를 변경한 후 A 및 AAAA 경로를 모두 테스트하세요.
- 브라우저 경고가 표시되지 않는 것에만 의존하지 말고 공개 엔드포인트가 제공하는 인증서를 검사하세요.
- HTTPS를 종료하는 서비스를 기록하여 올바른 계층에서 인증서를 변경하도록 하세요.
- 필요한 모든 호스트 이름을 포함하는 인증서 갱신 및 배포 절차를 유지하세요.
외부 도움을 받아야 할 때
호스트 이름, DNS 레코드 및 인증서 할당이 올바른 것으로 보이는데도 공개 엔드포인트가 계속 잘못된 인증서를 제공한다면 호스팅 제공업체, CDN 팀 또는 로드 밸런서 관리자에게 문의하세요. 제공업체가 관리하는 SNI, 가상 호스트 라우팅, 엣지 인증서 프로비저닝 또는 DNS 설정에는 사용자가 접근할 수 없는 권한이 필요할 수 있습니다.
정확히 오류가 발생하는 호스트 이름, 브라우저 또는 명령줄 확인에서 표시된 인증서 이름, 관련 A, AAAA 또는 CNAME 결과를 제공하세요. 불일치가 운영 중인 호스트 이름이나 로그인 호스트 이름에 영향을 주는 경우에는 신속하게 에스컬레이션하세요. 엔드포인트가 올바른 인증서를 제공할 때까지 사용자는 HTTPS 신뢰를 안전하게 설정할 수 없습니다.
자주 묻는 질문
기본 도메인 인증서가 www 호스트 이름을 포함하나요?
자동으로 포함하지는 않습니다. www 호스트 이름이 인증서의 SAN에 나열되어 있거나 적용 가능한 와일드카드 인증서에 포함되어야 합니다. 두 이름이 모두 포함되어 있다고 가정하지 말고 인증서를 검사하세요.
와일드카드 인증서가 기본 도메인을 포함하나요?
일반적으로 포함하지 않습니다. 1단계 서브도메인용 와일드카드는 보통 기본 도메인과 별개이며, 기본 도메인에는 자체 인증서 범위가 필요합니다.
와일드카드 인증서가 더 깊은 서브도메인을 포함할 수 있나요?
항상 그런 것은 아닙니다. *.your-domain과 같은 1단계 와일드카드는 일반적으로 여러 단계가 추가된 이름을 포함하지 않습니다. 요청한 호스트 이름에 대한 인증서의 실제 SAN과 와일드카드 범위를 확인하세요.
기본 도메인은 작동하는데 서브도메인에서만 오류가 발생하는 이유는 무엇인가요?
두 호스트 이름이 서로 다른 인증서, 서버, CDN 구성 또는 DNS 레코드를 사용할 수 있습니다. 오류가 발생하는 호스트 이름을 인증서 SAN 목록 및 해당 A, AAAA, CNAME 결과와 비교하세요.
잘못된 DNS로 인해 NET::ERR_CERT_COMMON_NAME_INVALID가 발생할 수 있나요?
예. DNS가 요청을 다른 서버로 보내면 해당 엔드포인트가 다른 호스트 이름의 인증서를 반환할 수 있습니다. IPv4 및 IPv6 레코드를 모두 확인하세요.
올바른 인증서가 설치되어 있는데도 오류가 계속되면 어떻게 하나요?
정확한 HTTPS 가상 호스트 또는 CDN 호스트 이름에 인증서가 할당되어 있는지, SNI가 해당 인증서를 선택하는지, IPv4와 IPv6가 모두 의도한 엔드포인트에 연결되는지 확인하세요. 다른 계층에 올바른 인증서가 존재하더라도 한 계층에서는 기본 인증서가 계속 활성화되어 있을 수 있습니다.
추가 문서
권위 있는 구현 세부 정보는 인증서 이름을 검사하는 데 사용하는 브라우저, 인증서 발급에 사용하는 인증 기관 또는 ACME 클라이언트, 관련 호스팅·CDN·로드 밸런서 및 DNS 제공업체의 문서를 참고하세요. Subject Alternative Names, 와일드카드 범위, SNI 인증서 선택, 호스트 이름 프로비저닝, DNS 레코드 변경, 인증서 배포 및 갱신에 관한 지침을 중점적으로 확인하세요.