SSL 인증서 설치 방법 총정리
발급받은 인증서를 서버에 넣고 https 를 켜는 방법이에요. 내 서버 종류만 골라서 따라 하세요.
1. 받은 ZIP 파일 살펴보기
| 파일 | 내용 | 쓰는 곳 |
|---|---|---|
fullchain.pem | 도메인 인증서 + 중간 인증서 | Nginx, Apache 2.4.8+, 대부분의 호스팅 패널 |
privkey.pem | 개인키 (절대 외부에 보내지 마세요) | 위와 함께 |
cert.pem / chain.pem | 도메인 인증서만 / 중간 인증서만 | Apache 2.4.8 미만, 칸이 따로 있는 패널 |
certificate.pfx | 인증서 + 개인키 한 파일 (비밀번호는 README.txt) | IIS, 윈도우 서버, 톰캣 |
리눅스 서버라면 파일을 /etc/ssl/example.com/ 같은 폴더에 올리고, 개인키는 다른 사용자가 읽지 못하게 권한을 줄여 주세요.
sudo mkdir -p /etc/ssl/example.com
sudo cp fullchain.pem privkey.pem /etc/ssl/example.com/
sudo chmod 600 /etc/ssl/example.com/privkey.pem
2. Nginx
사이트 설정 파일(예: /etc/nginx/conf.d/example.conf)의 server 블록에 443 설정을 추가해요.
server {
listen 443 ssl;
http2 on; # nginx 1.25 미만은 listen 443 ssl http2;
server_name example.com www.example.com;
ssl_certificate /etc/ssl/example.com/fullchain.pem;
ssl_certificate_key /etc/ssl/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/html;
}
sudo nginx -t && sudo systemctl reload nginx
ssl_certificate 에 cert.pem 을 넣으면 중간 인증서가 빠져 휴대폰 등에서 오류가 나요. 꼭 fullchain.pem 을 넣으세요.3. Apache (httpd)
mod_ssl 이 필요해요. (CentOS / Rocky: dnf install mod_ssl, Ubuntu: a2enmod ssl)
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/example.com/fullchain.pem
SSLCertificateKeyFile /etc/ssl/example.com/privkey.pem
# Apache 2.4.8 미만이면: SSLCertificateFile 에 cert.pem, SSLCertificateChainFile 에 chain.pem
</VirtualHost>
sudo apachectl configtest && sudo systemctl reload httpd # Ubuntu 는 apache2
4. IIS (윈도우 서버)
- IIS 관리자를 열고 왼쪽에서 서버 이름을 선택해요.
- 서버 인증서 → 오른쪽 가져오기 →
certificate.pfx선택 → README.txt 의 PFX 비밀번호 입력 → 인증서 저장소는 웹 호스팅 또는 개인. - 왼쪽에서 사이트를 선택 → 오른쪽 바인딩 → 추가.
- 종류 https, 포트 443, 호스트 이름
example.com, 여러 사이트를 쓰면 SNI 필요 체크 → SSL 인증서에서 방금 가져온 인증서를 선택해요. - 확인을 누르면 바로 적용돼요. 윈도우 방화벽에서 443 포트가 열려 있는지도 확인하세요.
갱신할 때는 새 PFX 를 같은 방법으로 가져온 뒤, 바인딩의 인증서만 새 것으로 바꾸면 돼요.
5. 톰캣 (Tomcat 8.5 이상)
certificate.pfx 를 conf/ 폴더에 복사하고 conf/server.xml 에 커넥터를 추가해요. 톰캣은 PFX(PKCS12)를 그대로 읽어서 JKS 로 바꿀 필요가 없어요.
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" maxThreads="150">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/certificate.pfx"
certificateKeystoreType="PKCS12"
certificateKeystorePassword="README.txt 의 PFX 비밀번호" />
</SSLHostConfig>
</Connector>
저장한 뒤 톰캣을 다시 시작해요. 리눅스에서 1024 아래 포트(443)를 쓰려면 root 권한이 필요하니, 보통은 앞에 Nginx 를 두거나 8443 포트를 쓰고 방화벽에서 443 → 8443 으로 넘겨요.
JKS 가 꼭 필요하면: keytool -importkeystore -srckeystore certificate.pfx -srcstoretype PKCS12 -destkeystore keystore.jks
6. 호스팅 · 패널 (cPanel, Plesk, 웹호스팅 관리 화면)
- 인증서(CRT) 칸 →
cert.pem내용 (또는fullchain.pem전체) - 개인키(KEY) 칸 →
privkey.pem내용 - 중간 인증서 / CA 번들(CABUNDLE) 칸 →
chain.pem내용
파일을 메모장으로 열어 -----BEGIN 부터 -----END ...----- 까지 통째로 복사해 붙여넣으면 돼요. 일부 국내 웹호스팅은 외부 인증서 설치를 관리자 요청으로만 받으니, 호스팅사에 "외부 SSL 인증서 설치"를 문의하세요.
7. http → https 자동 이동 (권장)
인증서를 넣었다면 http:// 로 들어온 방문자를 https:// 로 보내 주세요. 검색엔진도 https 주소 하나로 모아 줘요.
# Nginx
server {
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
# Apache (.htaccess 또는 :80 VirtualHost)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
IIS 는 URL 재작성(URL Rewrite) 모듈로 같은 규칙을 만들 수 있어요.
8. 설치가 잘 됐는지 확인
SSL 인증서 확인 도구에 도메인을 넣으면 신뢰 여부, 만료일, 중간 인증서 누락, 도메인 이름 일치, http→https 이동을 한 번에 점검해 드려요.
도메인만 입력하면 3분 만에 발급 · 도메인당 첫 발급 무료 · 위 모든 서버용 파일 포함