품질·성능·보안 · 공식 문서
SSL 인증서 발급 방법과 서버 설치 순서
먼저 호스팅이 인증서를 대신 발급·관리해 주는지 확인하고, 해 준다면 그 설정을 켭니다. 직접 한다면 호스트 이름 정리, 키와 CSR, 도메인 관리권 확인, 인증서 받기, 서버 설치, 확인의 순서로 진행합니다. 이 중 3단계는 ACME 클라이언트가 자동으로 합니다.
SSL 인증서 발급을 검색하면 판매처마다 메뉴 안내가 다릅니다. 메뉴는 달라도 인증 기관과 서버 사이에서 일어나는 일은 같습니다.
이 편은 그 공통 순서를 인증 기관 문서와 구글 문서 원문으로 정리했습니다. 호스팅이 대신 해 주는 경우와 직접 하는 경우를 나눴습니다.
발견 01
인증서는 호스팅이 대신 발급하는 길과 직접 발급하는 길이 있고, 먼저 호스팅부터 확인합니다
| 길 | 이럴 때 | 할 일 | 원문 |
|---|---|---|---|
| 호스팅이 맡음 | 호스팅 관리 화면에 인증서 자동 발급 설정이 있을 때 | 설정을 켜고, 담을 도메인을 고르고, 적용 여부를 확인 | For many people, their hosting provider will get and manage certificates from Let’s Encrypt for them. If your provider gets and manages certificates for you, it will either happen automatically or there will be a configuration option that you will need to enable.많은 경우 호스팅 업체가 Let's Encrypt 인증서를 대신 받아 관리한다. 이때는 자동으로 되거나, 켜야 하는 설정 항목이 있다. |
| 직접 발급 | 서버에서 명령을 실행할 권한이 있을 때 | ACME 클라이언트나 CSR로 발급하고 서버에 설치 | If your hosting provider does not handle getting and managing certificates for you, and if you have the ability to run commands on your server with sufficient privileges, you can select an ACME client and run it yourself to get certificates from Let’s Encrypt.호스팅 업체가 인증서를 대신 받아 관리하지 않고, 서버에서 충분한 권한으로 명령을 실행할 수 있다면 ACME 클라이언트를 골라 직접 돌려 인증서를 받을 수 있다. |
There are two steps to this process. First, the ACME client proves to the Certificate Authority (CA) that the web server controls a domain. After that the client can request or revoke certificates for that domain.
과정은 두 단계다. 먼저 ACME 클라이언트가 웹 서버가 그 도메인을 관리한다는 것을 인증 기관에 증명한다. 그 뒤 그 도메인의 인증서를 요청하거나 폐기할 수 있다.
어느 길이든 핵심은 두 가지입니다. 이 도메인을 관리한다는 것을 증명하고, 그 도메인용 인증서를 받습니다.
인증서 종류를 아직 정하지 않았다면 「SSL 인증서 무료 유료 차이와 선택 기준」 편을 먼저 봅니다.
발견 02
직접 발급은 7단계이고, 3단계는 ACME 클라이언트가 자동으로 합니다
| 순서 | 단계 | 할 일 | 자동 | 원문 |
|---|---|---|---|---|
| 1 | 발급 담당 정하기 | 호스팅이 자동 발급을 해 주는지 먼저 봅니다. 해 준다면 그 설정을 켜고 7단계로 갑니다. | 직접 | For many people, their hosting provider will get and manage certificates from Let’s Encrypt for them. If your provider gets and manages certificates for you, it will either happen automatically or there will be a configuration option that you will need to enable.많은 경우 호스팅 업체가 Let's Encrypt 인증서를 대신 받아 관리한다. 이때는 자동으로 되거나, 켜야 하는 설정 항목이 있다. |
| 2 | 담을 호스트 이름 적기 | www, www 없는 도메인, 쓰는 하위 도메인을 모두 적습니다. 빠진 호스트는 인증서 오류가 납니다. | 직접 | If you have many hostnames or subdomains, they each need to use the right certificate. Avoid implementing your SSL/TLS certificate for the wrong host-variant. For example, example.com serving the certificate for subdomain.example.com.호스트 이름이나 하위 도메인이 여럿이면 각각 맞는 인증서를 써야 한다. SSL/TLS 인증서를 엉뚱한 호스트 변형에 쓰지 않는다(예: example.com 이 subdomain.example.com 용 인증서를 내보내는 경우). |
| 3 | 키 쌍과 CSR 만들기 | 개인 키와 공개 키를 만들고, 공개 키를 담은 CSR을 만듭니다. 개인 키는 서버에만 둡니다. | ACME 자동 | Creating a 2048-bit RSA public/private key pair. Generating a certificate signing request (CSR) that embeds your public key. Usually, client applications automatically generate the CSR for the user, although a web hosting provider or device might also generate a CSR.2048비트 RSA 공개 키·개인 키 쌍을 만든다. 공개 키를 담은 인증서 서명 요청(CSR)을 만든다. 보통은 클라이언트 프로그램이 CSR을 자동으로 만들고, 호스팅 업체나 장비가 만들기도 한다. |
| 4 | 도메인 관리권 확인 | 웹 서버에 확인 파일을 두는 HTTP-01, 또는 DNS에 TXT 레코드를 넣는 DNS-01 로 도메인 관리권을 증명합니다. | ACME 자동 | Let’s Encrypt gives a token to your ACME client, and your ACME client puts a file on your web server at http://<YOUR_DOMAIN>/.well-known/acme-challenge/<TOKEN>. This challenge asks you to prove that you control the DNS for your domain name by putting a specific value in a TXT record under that domain name.HTTP-01: 인증 기관이 준 토큰을 ACME 클라이언트가 웹 서버의 정해진 경로에 파일로 둔다. DNS-01: 도메인 아래 TXT 레코드에 정해진 값을 넣어 DNS 관리권을 증명한다. |
| 5 | 인증서·체인 받기 | 인증 기관이 발급한 인증서와 중간 인증서(체인)를 받습니다. | ACME 자동 | Sharing your CSR with your Certificate Authority (CA) to receive a final certificate or a certificate chain. Send the CSR to your CA and follow their instructions to receive your final certificate or certificate chain.CSR을 인증 기관에 내고 최종 인증서나 인증서 체인을 받는다. 인증 기관의 안내에 따라 받는다. |
| 6 | 모든 서버에 설치 | 웹에서 접근할 수 없는 경로에 인증서와 개인 키를 두고, 웹 서버 설정에 연결합니다. 서버가 여러 대면 모두에 둡니다. | 직접 | Copy the certificates to all your front-end servers in a non-web-accessible place such as /etc/ssl (Linux and Unix) or wherever IIS (Windows) requires them.인증서를 모든 프런트엔드 서버의, 웹에서 접근할 수 없는 경로(리눅스·유닉스의 /etc/ssl, 윈도 IIS가 요구하는 위치 등)에 복사한다. |
| 7 | HTTPS로 열고 확인 | HTTPS로 페이지가 열리는지 보고, 서치 콘솔 URL 검사로 인증서 오류가 없는지 확인합니다. HTTP 리디렉션은 사이트 전환 순서에 맞춰 나중에 켭니다. | 직접 | Invalid server SSL certificate: Your site's SSL certificate is invalid. Google won't test an HTTPS URL on the site unless the certificate is valid. If you don't already have HTTPS service available on your servers, enable it now (without redirecting HTTP to HTTPS. See Redirect HTTP to HTTPS for more information).잘못된 서버 SSL 인증서: 인증서가 유효하지 않으면 구글은 그 사이트의 HTTPS URL을 테스트하지 않는다. 서버에 HTTPS가 없다면 지금 켜되, HTTP를 HTTPS로 리디렉션하는 일은 아직 하지 않는다. |
| 도메인 확인 방식 | 증명하는 자리 | 제약 | 원문 |
|---|---|---|---|
| HTTP-01 | 웹 서버의 확인 파일 | 80번 포트만, 와일드카드 불가 | Let’s Encrypt gives a token to your ACME client, and your ACME client puts a file on your web server at http://<YOUR_DOMAIN>/.well-known/acme-challenge/<TOKEN>. The HTTP-01 challenge can only be done on port 80. This challenge cannot be used to issue wildcard certificates.HTTP-01: 인증 기관이 준 토큰을 ACME 클라이언트가 웹 서버의 정해진 경로에 파일로 둔다. 80번 포트에서만 할 수 있고, 와일드카드 인증서 발급에는 쓸 수 없다. |
| DNS-01 | DNS의 TXT 레코드 | 와일드카드 발급에 필요 | This challenge asks you to prove that you control the DNS for your domain name by putting a specific value in a TXT record under that domain name.도메인 아래 TXT 레코드에 정해진 값을 넣어 그 도메인의 DNS를 관리한다는 것을 증명한다. |
개인 키는 서버에서 만들고 서버에서만 관리합니다(원문: The private key is always generated and managed on your own servers, not by Let’s Encrypt.) 인증 기관에 넘기는 것은 공개 키를 담은 CSR입니다.
설치를 마치면 HTTPS로 열리는 것까지만 확인하고, HTTP에서 HTTPS로 넘기는 리디렉션은 사이트 전환 순서에 맞춰 켭니다. 그 순서는 「https 전환 방법, 검색 유입을 지키는 설정 순서」 편에 자세히 적었습니다.
Invalid server SSL certificate: Your site's SSL certificate is invalid. Google won't test an HTTPS URL on the site unless the certificate is valid.
잘못된 서버 SSL 인증서: 사이트의 SSL 인증서가 유효하지 않다. 인증서가 유효하지 않으면 구글은 그 사이트의 HTTPS URL을 테스트하지 않는다.
발견 03
인증서 교체는 발급을 처음부터 다시 하는 일이고, 개인 키가 새면 폐기한 뒤 새 키로 받습니다
| 교체하는 때 | 할 일 | 원문 |
|---|---|---|
| 만료 전 갱신 | 도메인 확인과 발급을 다시 하고, 새 인증서로 바꿔 끼움 | Renewing a certificate at a later time means repeating the issuance process over again - performing domain validation and then requesting a new certificate.나중에 인증서를 갱신하는 것은 발급 과정을 처음부터 다시 하는 것이다. 도메인 확인을 하고 새 인증서를 요청한다. |
| 개인 키 유출 | 기존 인증서를 폐기하고 새 키로 다시 발급 | The certificate may be revoked for various reasons such as the compromise of the private key.개인 키 유출 같은 여러 이유로 인증서를 폐기할 수 있다. |
| 도메인 추가 | 담을 호스트 이름을 다시 적고 새로 발급 | If you have many hostnames or subdomains, they each need to use the right certificate.호스트 이름이나 하위 도메인이 여럿이면 각각 맞는 인증서를 써야 한다. |
교체 뒤에는 서버가 새 인증서를 내보내는지 확인합니다. 만료일을 읽는 법은 「ssl 인증서 만료일 확인 방법과 적용 상태 점검 순서」 편에 자세히 적었습니다.
교체 날 오류가 뜨면 「ssl 인증서 오류 해결」 편의 원인별 확인 순서를 따릅니다.
발견 04
같은 순서라도 B2B·B2C·B2G는 먼저 챙길 단계가 다릅니다
예시 ① 문의형 기업 사이트(B2B)
호스팅 관리 화면에 자동 발급 설정이 있는 기업 사이트입니다. 설정을 켜고 www와 www 없는 도메인을 둘 다 담았는지 봅니다.
문의 폼을 외부 하위 도메인에서 받는다면 그 호스트 이름도 2단계 목록에 넣습니다.
예시 ② 자사 쇼핑몰(B2C)
쇼핑몰 서버가 여러 대이고 이미지 서버가 따로 있습니다. 인증서를 모든 서버에 두는 6단계가 가장 빠지기 쉽습니다.
하위 도메인이 많으면 DNS-01로 와일드카드를 받는 편이 관리가 쉽습니다. DNS 설정을 자동으로 바꿀 수 있는지부터 확인합니다.
예시 ③ 공공기관 누리집(B2G)
기관 서버는 방화벽 때문에 80번 포트 확인이 어려울 수 있습니다. 그럴 때는 DNS-01 방식이 맞는지 담당 부서와 먼저 정합니다.
발급에 쓴 계정과 개인 키 보관 위치는 유지보수 인수인계 문서에 적어 둡니다. 사업자가 바뀌어도 교체를 이어서 할 수 있습니다.
그럼 발급은 어떤 순서로 시작하나요?
- 호스팅 관리 화면이나 안내 문서에서 인증서 자동 발급 설정이 있는지 확인합니다.
- 인증서에 담을 호스트 이름(www, www 없는 도메인, 하위 도메인)을 표로 적습니다.
- 직접 발급한다면 ACME 클라이언트를 고르고, 인증 기관의 테스트용(staging) 환경에서 먼저 시험합니다.
- HTTP-01과 DNS-01 중 서버 상황에 맞는 확인 방식을 고르고 발급합니다.
- 모든 서버에 인증서를 설치한 뒤 HTTPS로 열리는지, URL 검사에 인증서 오류가 없는지 확인합니다.
조사 방법
- Let's Encrypt 「Getting Started」 (문서 수정일 2025-01-23) · 최종 확인일 2026-10-25 · https://letsencrypt.org/getting-started/
- Let's Encrypt 「How It Works」 (문서 수정일 2025-08-02) · 최종 확인일 2026-10-25 · https://letsencrypt.org/how-it-works/
- Let's Encrypt 「Challenge Types」 (문서 수정일 2026-02-12) · 최종 확인일 2026-10-25 · https://letsencrypt.org/docs/challenge-types/
- Let's Encrypt 「Glossary」 (문서 수정일 2026-10-04) · 최종 확인일 2026-10-25 · https://letsencrypt.org/docs/glossary/
- Let's Encrypt 「FAQ」 (문서 수정일 2025-04-28) · 최종 확인일 2026-10-25 · https://letsencrypt.org/docs/faq/
- web.dev (Google) 「Enable HTTPS on your servers」 (문서 수정일 2015-03-27) · 최종 확인일 2026-10-25 · https://web.dev/articles/enable-https
- Google Search Central 「How to specify a canonical URL with rel="canonical" and other methods」 (문서 수정일 2026-07-10) · 최종 확인일 2026-10-25 · https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls
- Search Console Help 「URL Inspection tool」 · 최종 확인일 2026-10-25 · https://support.google.com/webmasters/answer/9012289
- 발급·설치 7단계는 위 문서들이 적은 자동 발급(ACME)과 수동 발급(CSR) 절차를 하나의 순서로 묶은 것입니다. 묶는 방식은 편집 판단입니다.
- 호스팅·제작 도구별 메뉴 절차는 업체마다 달라 이 편에 적지 않았습니다. 각 업체의 안내 문서가 기준입니다.
- 예시 ①②③은 이해를 돕기 위해 만든 가상 상황이며, 실제 기업·기관의 사례가 아닙니다.
- 원문은 영어판(hl=en)이고, 도구·보고서 이름은 같은 문서 한국어판(hl=ko) 표기를 따랐습니다.