모든 시작 가이드 시작하기

무료 SSL 인증서 받는 방법 (단계별 가이드)

무료 SSL 인증서는 방문자와 웹사이트 간의 연결을 암호화하여 비밀번호, 결제 정보, 개인 데이터를 보호합니다. 한 푼도 들이지 않고 약 5분 만에 발급받을 수 있습니다.

요약 — 빠른 버전:

  1. gethttps.com/app/setup 열기 — 설치 없음, 계정 없음
  2. 도메인 이름 입력
  3. 도메인 소유권 검증 (서버에 파일 배치 또는 DNS 레코드 추가)
  4. 인증서 파일 다운로드
  5. 서버에 설치 (Nginx, Apache, cPanel, WordPress, IIS)

모든 세부 사항이 포함된 전체 가이드를 이어서 읽으세요.


SSL 인증서가 필요한 이유

시작하기 전에 — 사이트에 정말 SSL이 필요한지 궁금하다면:

  • 브라우저가 HTTP 사이트에 “안전하지 않음”을 표시 — Chrome, Firefox, Edge가 주소 표시줄에 경고를 보여줍니다. 방문자가 떠납니다.
  • Google이 HTTPS를 순위 신호로 사용 — 2014년부터. HTTP 사이트는 순위가 낮아집니다.
  • HTTPS 없이 폼과 로그인은 데이터를 평문으로 전송 — 네트워크의 누구나 비밀번호, 신용카드 번호, 개인 데이터를 읽을 수 있습니다.
  • HTTP 페이지는 전송 중 변조 가능 — ISP와 공격자가 페이지에 광고, 추적 코드, 멀웨어를 삽입할 수 있습니다.
  • HTTPS는 무료 — 사용하지 않을 이유가 없습니다.

이미 HTTPS를 사용 중이라면 갱신으로 건너뛸 수 있습니다.

무료 SSL 인증서를 받는 4가지 방법

방법추천 대상설치자동 갱신시간
GetHTTPS (브라우저)누구나 — 설치 불필요, 서버 접근 불필요수동아니오5분
호스팅 제공자cPanel/Plesk가 있는 공유 호스팅자동보통 예2분
Certbot (CLI)root 접근이 있는 서버 관리자자동10분
Cloudflare (CDN)이미 Cloudflare를 사용하는 사이트자동5분

이 가이드는 **방법 1(GetHTTPS)**에 초점을 맞춥니다. 공유 호스팅, VPS, 전용 서버 등 파일을 업로드할 수 있는 모든 플랫폼에서 작동하기 때문입니다. 다른 방법은 위의 링크를 참고하세요.


방법 1: GetHTTPS (권장 — 어디서나 작동)

사전 준비 사항

  • 사용자가 관리하는 서버를 가리키는 등록된 도메인 이름
  • 다음 중 하나에 대한 접근 (도메인 검증용):
    • 웹 서버의 파일 시스템 — 검증 파일 배치용 (HTTP-01 챌린지)
    • 도메인의 DNS 설정 — TXT 레코드 추가용 (DNS-01 챌린지)
  • 최신 브라우저 — Chrome, Firefox, Edge 또는 Safari

어떤 챌린지 유형을 사용해야 하나요? 대부분의 사람에게는 HTTP-01이 더 간단합니다. DNS-01은 와일드카드 인증서(*.example.com)에 필수입니다. 자세한 설명은 HTTP-01 가이드DNS-01 가이드를 참고하세요.

1단계: GetHTTPS 열기

gethttps.com/app/setup으로 이동합니다.

GetHTTPS가 브라우저에서 두 키 쌍을 자동으로 생성합니다:

  • 계정 키 — Let’s Encrypt 계정을 식별하는 P-256 ECDSA 키 쌍. 모든 ACME 요청에 서명합니다.
  • 인증서 키 — SSL 인증서용 키 쌍. 기본 ECDSA P-256(권장) 또는 RSA 2048.

두 키 모두 브라우저에 내장된 Web Crypto API를 사용하여 생성됩니다. 브라우저 메모리에만 존재하며 어떤 서버에도 전송되지 않습니다 — 우리 서버에도요. 이것이 SSL For Free(서버에서 키 생성) 또는 ZeroSSL(방법에 따라 서버 측에서 키를 생성할 수 있음) 같은 도구 대비 핵심 프라이버시 장점입니다.

2단계: 도메인 이름 추가

보호하려는 도메인을 입력합니다:

원하는 것입력 내용참고
단일 도메인example.com가장 기본적인 설정
도메인 + wwwexample.com + www.example.com대부분의 사이트에 권장
와일드카드*.example.com모든 서브도메인 포함; DNS-01 필요
여러 도메인example.com + blog.example.com + shop.example.comSAN 인증서

팁: example.com을 입력하면 GetHTTPS가 www.example.com도 추가하라고 안내합니다(그 반대도). 대부분의 사이트는 두 가지 모두 보호해야 합니다.

3단계: 도메인 검증 완료

Let’s Encrypt가 도메인을 관리하고 있는지 확인해야 합니다. 두 가지 방법 중 하나를 선택합니다:

옵션 A: HTTP-01 챌린지 (더 간단, 대부분에게 적합)

Let’s Encrypt가 토큰을 제공합니다. 웹 서버의 특정 URL에 파일을 배치합니다.

  1. GetHTTPS가 파일명파일 내용(긴 토큰 문자열)을 보여줍니다
  2. 서버에 파일을 생성합니다:
    http://yourdomain.com/.well-known/acme-challenge/TOKEN_FILENAME
  3. 사이트가 이미 HTTPS를 사용하더라도 파일은 **HTTP(포트 80)**를 통해 접근 가능해야 합니다
  4. GetHTTPS에서 Verify를 클릭합니다

플랫폼별 파일 생성 방법:

SSH 접근 (Linux의 Nginx/Apache):

# 디렉토리 생성 (없는 경우)
mkdir -p /var/www/html/.well-known/acme-challenge/

# 챌린지 파일 생성 — GetHTTPS의 정확한 값 사용
echo "TOKEN_CONTENT_SHOWN_IN_GETHTTPS" > /var/www/html/.well-known/acme-challenge/TOKEN_FILENAME

# 접근 가능한지 확인
curl http://yourdomain.com/.well-known/acme-challenge/TOKEN_FILENAME

cPanel 파일 관리자:

  1. 파일 관리자public_html로 이동
  2. .well-known 폴더 생성 → 그 안에 acme-challenge 생성
  3. 토큰 파일명으로 새 파일을 만들고 토큰 내용을 붙여넣기
  4. 파일이 읽기 가능한지 확인 (권한 644)

FTP:

  1. FTP로 사이트 루트에 연결
  2. .well-known/acme-challenge/로 이동(또는 생성)
  3. 토큰 내용이 포함된 토큰 파일명의 텍스트 파일 업로드

일반적인 문제: 일부 웹 서버는 기본적으로 .well-known의 파일을 제공하지 않습니다. 404 오류가 발생하면 서버 설정을 확인하세요. Nginx에서는 설정에 location ~ /\.well-known { allow all; }이 필요할 수 있습니다.

옵션 B: DNS-01 챌린지 (와일드카드에 필수)

도메인의 DNS 설정에 TXT 레코드를 추가합니다.

  1. GetHTTPS가 레코드 이름(예: _acme-challenge.example.com)과 레코드 값(긴 해시)을 보여줍니다
  2. DNS 제공자에서 TXT 레코드를 추가합니다
  3. DNS 전파를 기다립니다(보통 1-5분)
  4. GetHTTPS에서 Verify를 클릭합니다

DNS 제공자 빠른 참조:

제공자TXT 레코드 추가 위치TTL 설정
CloudflareDNS → Records → Add record → Type: TXTAuto
AWS Route 53Hosted zones → 도메인 → Create record → TXT300
GoDaddyDNS Management → Add → Type: TXT1 Hour
NamecheapDomain List → Manage → Advanced DNS → Add new record → TXTAutomatic
Google DomainsDNS → Custom records → Manage → Create new record → TXTAuto
DigitalOceanNetworking → Domains → 도메인 → Add record → TXT30

레코드 이름: _acme-challenge (일부 제공자는 도메인을 자동 추가하고, 일부는 하지 않음 — 미리보기를 확인) 레코드 값: GetHTTPS에 표시된 해시 문자열 (정확히 복사-붙여넣기)

사전 검사 확인 (GetHTTPS 고유 기능)

Let’s Encrypt에 제출하기 전에 GetHTTPS가 Google의 DNS-over-HTTPS API를 통해 공개 인터넷에서 챌린지 설정을 사전 검사합니다. 다음과 같은 실수를 잡습니다:

  • 잘못된 파일 내용이나 권한
  • 포트 80에서 파일 접근 불가
  • DNS 레코드 아직 전파되지 않음
  • 방화벽이 요청 차단
  • Cloudflare 프록시가 챌린지 가로채기

사전 검사가 실패하면 GetHTTPS가 정확히 무엇이 잘못되었는지 보여줍니다 — 요청 제한 횟수를 소모하기 전에 수정할 수 있습니다.

이것은 다른 브라우저 기반 도구에 없는 기능입니다. SSL For Free와 ZeroSSL은 CA에 직접 제출하므로, 사후에야 오류를 알 수 있습니다.

4단계: 인증서 파일 다운로드

모든 챌린지가 통과하면 Let’s Encrypt가 인증서를 발급합니다. GetHTTPS가 네 개의 파일을 제공합니다:

파일내용필요한 경우
privkey.pem개인키 — 비밀로 유지하세요!모든 서버
cert.pemSSL 인증서(최종 엔티티만)Apache, 일부 설정
chain.pemLet’s Encrypt의 중간 CA 인증서Apache, 일부 설정
fullchain.pemcert.pem + chain.pem 결합Nginx, 대부분의 서버

네 파일 모두 다운로드하세요. 서버마다 다른 조합이 필요합니다 — 네 파일을 모두 가지고 있으면 어디서든 대응할 수 있습니다. 자세한 내용은 인증서 형식 설명을 참고하세요.

보안: privkey.pem을 안전하게 보관하세요. 이 파일이 있으면 누구나 웹사이트를 사칭할 수 있습니다. 이메일로 보내거나, Git에 커밋하거나, 공개 폴더에 넣지 마세요.

5단계: 서버에 설치

플랫폼을 선택하세요:

플랫폼가이드필요한 주요 파일
Nginx전체 가이드 →fullchain.pem + privkey.pem
Apache전체 가이드 →cert.pem + chain.pem + privkey.pem
cPanel전체 가이드 →세 파일의 내용 붙여넣기
WordPress전체 가이드 →호스팅에 따라 다름 (cPanel/Nginx/Apache)
Windows IIS전체 가이드 →먼저 PFX로 변환
Docker전체 가이드 →fullchain.pem + privkey.pem 마운트
Plesk전체 가이드 →세 파일의 내용 붙여넣기
AWS전체 가이드 →EC2에 업로드 또는 ACM으로 가져오기
Node.js전체 가이드 →코드에서 fullchain.pem + privkey.pem

빠른 설치 — Nginx:

server {
    listen 443 ssl http2;
    server_name example.com www.example.com;

    ssl_certificate     /etc/ssl/fullchain.pem;
    ssl_certificate_key /etc/ssl/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers off;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1d;

    add_header Strict-Transport-Security "max-age=63072000" always;

    root /var/www/html;
    index index.html;
}
sudo nginx -t && sudo systemctl reload nginx

빠른 설치 — Apache:

<VirtualHost *:443>
    ServerName example.com
    ServerAlias www.example.com

    SSLEngine on
    SSLCertificateFile      /etc/ssl/cert.pem
    SSLCertificateKeyFile   /etc/ssl/privkey.pem
    SSLCertificateChainFile /etc/ssl/chain.pem

    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
    SSLHonorCipherOrder off

    DocumentRoot /var/www/html
</VirtualHost>
sudo apachectl configtest && sudo systemctl reload apache2

6단계: HTTP를 HTTPS로 리다이렉트

모든 트래픽이 암호화된 연결을 사용하도록 강제합니다. 이것이 없으면 http://로 접속하는 방문자는 인증서의 혜택을 받지 못합니다.

Nginx:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Apache (.htaccess):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

www/non-www, 프록시 시나리오, 문제 해결을 포함한 전체 리다이렉트 가이드 →

7단계: 모든 것이 작동하는지 확인

브라우저 확인:

  1. https://yourdomain.com 방문
  2. 자물쇠 아이콘 클릭 → “인증서” 또는 “연결이 안전함”
  3. 확인: 발급자 “Let’s Encrypt”, 약 90일 후 만료, 도메인 일치

커맨드라인 확인:

# 인증서 세부 정보 표시
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

# 예상 출력:
# subject=CN=example.com
# issuer=C=US, O=Let's Encrypt, CN=R10
# notBefore=May  8 00:00:00 2026 GMT
# notAfter=Aug  6 00:00:00 2026 GMT

온라인 확인: SSL Labs Server Test에 도메인을 입력하여 인증서 체인, 프로토콜 지원, 암호화 스위트, 알려진 취약점을 포함한 종합 보고서를 확인합니다.

혼합 콘텐츠 확인: 브라우저 개발자 도구(F12) → 콘솔 탭을 엽니다. “Mixed Content” 경고를 찾으세요 — HTTPS 페이지에 있는 HTTP 리소스입니다. 혼합 콘텐츠 수정 방법 →


갱신

Let’s Encrypt 인증서는 90일 후에 만료됩니다. 안전 여유를 두고 60일째에 갱신하세요.

GetHTTPS로 (수동):

  1. gethttps.com/app/setup을 다시 방문
  2. 도메인을 다시 입력하고 새 챌린지 완료
  3. 서버의 인증서 파일 교체
  4. 웹 서버 리로드 (sudo systemctl reload nginx)

Certbot으로 (자동): 자동 갱신을 원하면 서버에 Certbot을 설치하세요. 많은 팀이 첫 인증서는 GetHTTPS로, 이후 자동 갱신은 Certbot으로 합니다.

전체 갱신 가이드 →

곧 도래: 47일 인증서. CA/Browser Forum은 2029년까지 최대 인증서 유효 기간을 47일로 줄이기로 결정했습니다. 이것이 의미하는 바 →


방법 2: 호스팅 제공자 (가능한 경우 가장 쉬움)

많은 호스트가 무료 SSL을 포함합니다:

호스트활성화 방법자동 갱신
HostingerhPanel → Security → SSL✅ AutoSSL
SiteGroundSite Tools → Security → SSL Manager
BluehostMy Sites → Security → SSL
NamecheapcPanel → SSL/TLS Status✅ AutoSSL
GoDaddycPanel → SSL/TLS (cPanel 호스팅인 경우)
DigitalOcean내장 없음 — Certbot 또는 GetHTTPS 사용
AWS로드 밸런서용 ACM, EC2용 Certbot✅ (ACM)

호스트가 무료 SSL을 제공하면 사용하세요 — 가장 간단한 방법입니다. 그렇지 않거나 더 많은 제어가 필요하면 GetHTTPS를 사용하세요.

방법 3: Certbot (서버 관리자용)

Certbot은 서버에서 Let’s Encrypt 인증서를 자동화하는 CLI 도구입니다. root 접근이 필요합니다.

# 설치 (Ubuntu)
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

# 인증서 발급 + Nginx 자동 설정
sudo certbot --nginx -d example.com -d www.example.com

# 자동 갱신이 자동으로 설정됨
sudo systemctl list-timers | grep certbot

전체 GetHTTPS vs Certbot 비교 →

방법 4: Cloudflare (프록시 기반 SSL)

Cloudflare를 CDN으로 사용한다면 Universal SSL이 무료로 포함됩니다. 하지만 이해하세요: Cloudflare SSL은 트래픽이 서버가 아닌 Cloudflare 엣지에서 복호화된다는 의미입니다. 괜찮은가요? →


문제 해결

챌린지 파일이 404를 반환

  • 경로 확인: 파일은 정확히 /.well-known/acme-challenge/TOKEN에 있어야 합니다 — 하위 디렉토리가 아닌
  • 권한 확인: 파일이 웹 서버에서 읽기 가능해야 합니다 (chmod 644)
  • Nginx: 설정이 점 파일을 차단하는 경우 location ~ /\.well-known { allow all; } 추가
  • Cloudflare: HTTP-01 챌린지 중 DNS를 일시적으로 “DNS only”(그레이 클라우드)로 전환
  • cPanel: .well-known이 숨겨져 있지 않은지 확인 — 일부 파일 관리자가 점 디렉토리를 숨김

DNS 레코드를 찾을 수 없음

  • 더 기다리세요 — 일부 DNS 제공자는 전파에 5-15분이 걸림
  • 레코드 이름 확인: _acme-challenge여야 합니다(도메인이 추가된 경우와 아닌 경우가 있음 — 제공자에 따라 다름). GetHTTPS의 사전 검사로 확인.
  • 레코드 유형 확인: CNAME이나 A가 아닌 TXT여야 함
  • 수동 확인:
    dig TXT _acme-challenge.yourdomain.com +short

“Too many requests” / 요청 제한 오류

Let’s Encrypt는 등록된 도메인당 주당 50개 인증서를 허용합니다. 이 제한에 도달하면:

  • 일주일 기다린 후 다시 시도
  • 테스트에는 스테이징 환경 사용 (GetHTTPS는 개발 시 기본적으로 스테이징 사용)
  • 낭비를 줄이기 위해 제출 전 챌린지를 사전 검사

설치 후 브라우저에 “안전하지 않음” 표시

  1. 인증서 미설치: 서버 설정이 올바른 파일을 가리키는지 확인
  2. 혼합 콘텐츠: 페이지가 HTTP 리소스를 로드. 해결 가이드 →
  3. 리다이렉트 미활성화: HTTP 트래픽이 HTTPS로 리다이렉트되지 않음. 리다이렉트 가이드 →
  4. 인증서 만료: 만료 확인 →

“인증서 체인 불완전” 오류

Nginx에서 fullchain.pem 대신 cert.pem을 사용하거나 Apache에서 SSLCertificateChainFile이 누락된 경우. 서버가 인증서 체인을 증명하기 위해 중간 인증서가 필요합니다.


GetHTTPS를 다른 무료 도구보다 선택하는 이유

기능GetHTTPSZeroSSLSSL For FreeCertbot
설치없음 (브라우저)없음 (웹)없음 (웹)CLI 설치 필요
개인키브라우저 생성 (Web Crypto)⚠️ 서버 생성 가능⚠️ 서버 생성서버 생성
무료 인증서 제한무제한3개3개무제한
와일드카드 (무료)❌ (유료)
자동 갱신
사전 검사
오픈소스NoNoNoYes (Apache 2.0)
Let’s Encrypt 직접 연결Via ZeroSSLVia ZeroSSL

모든 무료 SSL 제공자 전체 비교 →


자주 묻는 질문

정말 무료로 SSL 인증서를 받을 수 있나요?

네. Let’s Encrypt는 Mozilla, Google, EFF 등이 후원하는 비영리 인증 기관입니다. 많은 기업이 연간 $50-200에 구매하는 것과 같은 유형인 무료 도메인 검증(DV) 인증서를 발급합니다. 3억 개 이상의 웹사이트가 Let’s Encrypt를 사용하며, 전 세계 CA 시장 점유율 63.9%입니다.

무료 SSL 인증서가 유료만큼 안전한가요?

네. 모든 SSL 인증서 — 무료든 유료든 — 동일한 TLS 암호화를 사용합니다. Let’s Encrypt의 무료 DV 인증서는 DigiCert의 $500 EV 인증서와 동일한 암호화 강도를 제공합니다. 유일한 차이점은 검증 수준(CA가 신원에 대해 확인하는 내용)이지, 암호화가 아닙니다. 상세 비교 →

무료 SSL 인증서의 유효 기간은?

Let’s Encrypt 인증서의 유효 기간은 90일입니다. 이 짧은 유효 기간은 의도된 것으로, 키가 유출되었을 때의 피해를 제한하고 자동화를 장려합니다. 안전 여유를 위해 60일째에 갱신하세요. 참고: 2029년까지 모든 인증서가 47일로 제한됩니다.

SSH/root 접근이 필요한가요?

GetHTTPS에서는 필요하지 않습니다. 다음 중 하나만 있으면 됩니다:

  • 웹 서버에 파일 배치 (FTP, cPanel 파일 관리자 또는 다른 방법) — HTTP-01용
  • DNS 레코드 추가 (도메인 등록 기관 또는 DNS 제공자) — DNS-01용

접근 권한이 전혀 없다면 호스팅 제공자가 제어판을 통해 무료 SSL을 제공하는지 확인하세요.

무료로 와일드카드 인증서를 받을 수 있나요?

네. GetHTTPS는 DNS-01 챌린지를 사용하여 와일드카드 인증서(*.example.com)를 지원합니다. 이는 많은 경쟁사(ZeroSSL, SSL For Free)가 유료 플랜으로 제한하는 기능입니다. 도메인의 DNS 설정에 대한 접근이 필요합니다.

하나의 인증서로 여러 도메인을 보호할 수 있나요?

네. GetHTTPS에 모든 도메인을 입력하세요 — 인증서당 최대 100개. 이것이 SAN(멀티 도메인) 인증서를 생성합니다. 각 도메인에 대해 별도의 챌린지 검증이 필요합니다.

HTTP-01과 DNS-01 챌린지의 차이점은?

HTTP-01: 서버에 파일을 배치합니다. 더 간단하며, 단일 도메인에 적합. 포트 80 접근이 필요합니다. DNS-01: DNS에 TXT 레코드를 추가합니다. 와일드카드에 필수. 포트 80이 차단되어도 작동합니다. 상세 HTTP-01 가이드 → | DNS-01 가이드 →

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

브라우저가 전체 화면 보안 경고(“연결이 비공개가 아닙니다”)를 표시합니다. 방문자가 안전하게 사이트에 접속할 수 없으며, 검색 엔진이 페이지를 색인 해제할 수 있습니다. 만료 확인 방법 → | 갱신 방법 →

GetHTTPS에서 Certbot으로(또는 그 반대로) 전환할 수 있나요?

네. 인증서 파일은 표준 PEM 형식입니다. GetHTTPS로 첫 인증서를 생성하고 이후 자동 갱신을 위해 Certbot을 설치할 수 있습니다. 또는 처음에 Certbot을 사용하다가 서버 접근 없이 빠르게 재발급이 필요할 때 GetHTTPS로 전환할 수 있습니다. 두 도구는 충돌하지 않습니다.

관련 기사

비교 2026-05-08
GetHTTPS vs Certbot: 어떤 SSL 도구를 사용해야 할까요?
Let's Encrypt에서 무료 SSL 인증서를 발급받기 위한 GetHTTPS와 Certbot의 상세 비교. 설치, 워크플로우, 개인정보 보호, 자동화, 갱신, 사용 사례를 비교합니다.
비교 2026-05-08
2026년 최고의 무료 SSL 인증서 공급업체 비교
개인정보 보호, 한도, 와일드카드 지원, 자동화 기능 기준으로 9개의 무료 SSL 인증서 공급업체를 비교합니다. 독립 CA, 호스팅 업체, CDN을 포함하며 다른 비교에서 다루지 않는 개인정보 분석을 제공합니다.
시작하기 2026-05-08
HTTP-01 챌린지: 작동 원리와 완료 방법
HTTP-01은 SSL 인증서의 도메인 소유권을 증명하는 가장 간단한 방법입니다. 서버에 파일을 배치하면 Let's Encrypt가 확인하고 인증서가 발급됩니다.
시작하기 2026-05-08
DNS-01 챌린지: 작동 원리와 완료 방법
DNS-01 검증은 DNS에 TXT 레코드를 추가하여 도메인 소유권을 증명합니다. 와일드카드 인증서에 필수적입니다. Cloudflare, Route 53, GoDaddy, Namecheap 등의 설정 방법을 다룹니다.
브라우저에서 무료 SSL 인증서 받기
설치 불필요, 계정 불필요. 개인키는 항상 기기에 남습니다.
인증서 발급