무료 TLS 인증서와 HTTPS
이 가이드는 영어에서 번역되었습니다. 링크된 일부 페이지는 영어로만 제공됩니다.
자동 HTTPS의 작동 방식, 인증서 발급과 갱신 방법, 그리고 HTTP로 배포하면 안 되는 이유.
HTTPS는 더 이상 선택 사항이 아닙니다. 브라우저는 일반 HTTP를 '안전하지 않음'으로 표시하고, 검색엔진은 순위를 낮추며, HTTP로 이루어지는 로그인이나 결제는 실제로 위험합니다.
여기서의 작동 방식
Let's Encrypt(무료, 자동화, 널리 신뢰됨)의 인증서를 Certbot으로 발급·갱신합니다. 사이트에 도메인을 연결하면 인증서를 자동으로 요청하고 만료 전에 갱신할 수 있습니다. 비용을 낼 필요도, 기억할 필요도 없습니다.
인증서 발급
도메인의 DNS가 이미 저희를 가리키는지 확인하세요. 인증 기관은 이름을 직접 관리하는지 검증하는데, 이름이 여기로 해석되어야만 가능합니다.
/panel/web에서 사이트를 열고 SSL/TLS를 선택한 뒤 도메인을 추가합니다.
인증서를 요청하고 설치합니다. 보통 몇 초면 끝납니다.
경고가 뜨지 않도록 example.com과 www.example.com을 모두 요청하세요.
갱신
갱신은 자동입니다. 패널에서 일정을 확인할 수 있고, 만료일은 언제든 다음으로 확인할 수 있습니다.
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
| openssl x509 -noout -subject -dates갱신이 실패하는 경우는 거의 항상 도메인이 더 이상 저희로 해석되지 않거나(DNS 변경), 80번 포트가 막혔거나(검증에 필요), 반복 실패 후 요청 한도에 도달한 경우입니다. 원인을 고친 다음 수동으로 다시 시도하세요.
HTTP를 HTTPS로 리디렉션
인증서만으로는 일반 HTTP 버전 접속을 막을 수 없습니다. 영구 리디렉션을 추가하세요. HTTPS 강제 및 리디렉션을 참고하세요. 설정하면 http://로 입력해도 모든 방문자가 보안 버전으로 이동합니다.
제대로 테스트하기
curl -I http://example.com # should be a 301 to https://
curl -I https://example.com # should be 200또한 혼합 콘텐츠를 확인하세요. HTTPS로 제공되는 페이지가 이미지나 스크립트를 일반 HTTP로 불러오면 브라우저가 안전하지 않다고 표시합니다. 모든 것을 https:// URL에서 불러오세요.
프록시 또는 CDN 뒤에 있을 때
CDN을 앞에 두면 인증서 체인은 CDN → 방문자, 그리고 CDN → 원본 모두에 필요합니다. 두 구간 모두 인증서가 있어야 합니다. 원본용은 저희가 발급하고, 방문자에게 보이는 이름은 CDN이 발급합니다. CDN이란 무엇이며 필요할까요?를 참고하세요.
관련 글