GetHTTPS와 acme.sh 모두 Let’s Encrypt에서 무료 SSL 인증서를 발급합니다. GetHTTPS는 설치 없이 브라우저에서 실행됩니다. acme.sh는 일반 사용자 권한으로(루트 불필요) 실행되는 경량 셸 스크립트이며 cron을 통한 자동 갱신을 지원합니다.
빠른 비교
| GetHTTPS | acme.sh | |
|---|---|---|
| 실행 환경 | 브라우저 | 셸 (bash/sh/zsh) |
| 설치 | 불필요 | curl ... | sh 또는 git clone |
| 루트/sudo 필요 | 불필요 | 불필요 (Certbot 대비 고유 장점) |
| 자동 갱신 | 불가 | 가능 (cron 작업) |
| 개인키 생성 | 브라우저 (Web Crypto API) | 서버 (openssl) |
| 챌린지 유형 | HTTP-01, DNS-01 | HTTP-01, DNS-01, TLS-ALPN-01, DNS alias |
| DNS API 플러그인 | 없음 (수동 DNS) | 150개 이상 DNS 공급업체 |
| 사전 검증 | ✅ | ❌ |
| 다중 CA 지원 | Let’s Encrypt 전용 | Let’s Encrypt, ZeroSSL, Buypass, Google 등 |
| 설정 파일 | 없음 | ~/.acme.sh/ |
| 의존성 | 최신 브라우저 | openssl, curl/wget, cron |
| 오픈 소스 | 아니오 | 예 (GPL v3) |
GetHTTPS를 사용할 때
- 설치 불필요 — 서버에 아무것도 설치, 구성, 유지보수할 필요 없음
- 커맨드 라인 불필요 — 비기술 사용자에게 브라우저 UI가 더 접근성이 높음
- 프라이버시 — 브라우저에서 생성된 개인키가 서버에 저장되지 않음
- 빠른 일회성 인증서 — 스테이징, 테스트, 다른 사람 도움
acme.sh를 사용할 때
- 자동 갱신 — 루트 접근 없이 cron 기반 갱신
- DNS API 통합 — 150개 이상 공급업체(Cloudflare, Route 53 등)에 대한 자동 DNS-01 챌린지
- 루트 불필요 — Certbot과 달리 acme.sh는 일반 사용자로 실행
- 다중 CA — Let’s Encrypt, ZeroSSL, Buypass, Google Trust Services에서 발급 가능
- 고급 기능 — DNS alias 모드, 알림 훅, 배포 훅
최종 판단
| 상황 | 사용 도구 |
|---|---|
| 서버 접근 불가 / 일회성 인증서 | GetHTTPS |
| 루트 없이 자동 갱신 원함 | acme.sh |
| 비기술자 / GUI 선호 | GetHTTPS |
| DNS API 자동화 필요 | acme.sh |
| 최고 수준의 개인키 프라이버시 | GetHTTPS |
| 프로덕션 서버, 장기 운영 | acme.sh 또는 Certbot |
두 도구 모두 훌륭합니다. GetHTTPS는 단순성과 프라이버시에서 우위입니다. acme.sh는 자동화와 DNS 통합에서 우위입니다. 동일한 Let’s Encrypt 인증서를 발급합니다.
설치 비교
GetHTTPS
Open gethttps.com/app/setup in your browser.
Done.
acme.sh
# Install (no root needed)
curl https://get.acme.sh | sh -s email=you@example.com
# Issue a certificate
~/.acme.sh/acme.sh --issue -d example.com -w /var/www/html
# Auto-renewal is set up automatically via cron
crontab -l | grep acme.sh
acme.sh는 홈 디렉토리의 ~/.acme.sh/에 설치됩니다. 하루 두 번 갱신을 확인하는 cron 항목을 추가합니다. 시스템 수준의 변경은 필요 없습니다.
DNS-01 자동화: acme.sh의 핵심 기능
acme.sh는 150개 이상 DNS 공급업체에 대한 내장 API 통합을 가지고 있습니다. 수동 DNS 변경 없이 완전 자동으로 와일드카드 인증서를 발급할 수 있습니다:
# Cloudflare example
export CF_Token="your-api-token"
~/.acme.sh/acme.sh --issue -d "*.example.com" --dns dns_cf
# AWS Route 53 example
export AWS_ACCESS_KEY_ID="..."
export AWS_SECRET_ACCESS_KEY="..."
~/.acme.sh/acme.sh --issue -d "*.example.com" --dns dns_aws
GetHTTPS에서 와일드카드 인증서를 받으려면 DNS TXT 레코드를 수동으로 추가해야 합니다. 일회성 와일드카드 인증서에는 괜찮지만, 많은 도메인에서 자주 갱신한다면 acme.sh의 DNS API 자동화가 상당한 시간을 절약합니다.
프라이버시 비교
| 항목 | GetHTTPS | acme.sh |
|---|---|---|
| 키 생성 | 브라우저 (Web Crypto API) | 서버 (openssl) |
| 키 저장 | 다운로드 폴더 | 서버의 ~/.acme.sh/ |
| 키 노출 | 어떤 서버에도 노출 안 됨 | acme.sh를 실행하는 서버에 저장 |
| 텔레메트리 | 없음 | 없음 |
GetHTTPS는 엄격한 프라이버시 이점이 있습니다: 키가 브라우저에서만 존재합니다. acme.sh에서는 키가 서버에 저장됩니다 — 서버 관리형 인증서로서는 일반적이지만, 해당 사용자 계정에 접근할 수 있는 누구나 키를 읽을 수 있다는 뜻입니다.
자주 묻는 질문
acme.sh가 Certbot보다 나은가요?
다른 도구, 다른 강점입니다. acme.sh는 루트가 필요 없고, 150개 이상 DNS 플러그인이 내장되어 있으며, 단일 셸 스크립트(약 7000줄의 bash)입니다. Certbot은 Nginx/Apache 자동 구성 기능이 있지만 snap/pip이 필요하고 보통 루트가 필요합니다. 대부분의 CLI 사용자에게는 둘 다 잘 작동합니다. Certbot 비교 보기 →
둘 다 사용할 수 있나요?
네. 첫 번째 인증서는 GetHTTPS로(설정 시간 없이), 이후 지속적인 자동 갱신을 위해 acme.sh를 설치하세요. PEM 파일은 표준 형식이므로 — acme.sh는 같은 도메인에 대해 GetHTTPS가 원래 생성한 인증서를 갱신할 수 있습니다.
acme.sh가 macOS에서 작동하나요?
네. acme.sh는 bash/sh, curl, openssl이 있는 모든 Unix 계열 시스템에서 실행되는 순수 셸 스크립트입니다 — macOS, Linux, FreeBSD, 심지어 Windows WSL도 포함됩니다.