인증서 발급을 위한 정보(도메인, 회사명, 담당자 등)를 담은 데이터로 서명요청을 하는건데...
인증서 구매 직후 My가비아 페이지에서 CSR 생성으로 연결되는 콘솔버튼이 생성됨.
WHOIS에 등록된 정보대로 도메인과 회사정보를 입력하면 됨.
📌 가비아 CSR 생성 가이드 >> https://customer.gabia.com/manual/hosting/433
인증방법은 총 3가지
- 메일 >> WHOIS에 등록된 이메일로 인증메일 받기
- 웹(HTTP) >> 가비아에서 제공하는 텍스트파일을 서버에 업로드
- DNS 레코드 >> 네임서버에 가비아에서 제공한 레코드 값을 등록
세가지 방법 모두 시도해보고 알차게 시간 낭비해 본 결과 메일 인증이 가장 빠르고 간편하다.
인증서 구매 직후 인증방법을 고를 때 메일 인증을 선택하면서 WHOIS 이메일로 지정하면 된다.
(WHOIS 에 도메인을 조회하여 이메일 확인.)
📌가비아 웹 인증 가이드 >> https://customer.gabia.com/manual/hosting/434
혹시나 다른 인증방법을 시도했다가 잘 되지않아 후에 메일인증을 하게 된다면(나처럼)
그때는 WHOIS 등록 이메일로 고를 수가 없다...(나처럼)당황하지 말고 고객센터에 문의하면 됨.
메일 인증을 끝내면 가비아에 등록한 관리자메일로 인증서 다운로드 링크와
개인키 파일이 첨부된 메일을 받을 수 있다.
이 파일들을 전부 서버에 업로드 하면 된다. (SFTP or FTP 사용)
📂 파일 구성
파일구성과 파일명은 발급처에 따라 달라진다.
도메인_key.pem >> 개인키파일 CA_GLOBALSIGN_ROOT_CA.crt >> 루트인증서 ChainFile_ChainBundle.crt >> 중개 인증서 File__(도메인).crt >> SSL 인증서
❗ 서버환경에 따라 디렉토리 구성은 다르니 참고만
Apache2 서버에서 SSL 인증을 하기 위해서는 openssl 이 필요하다.
아파치 서버에 기본으로 설치되어 있다는데 혹시 모르니 설치확인 한 후 진행.
개인키와 인증서 파일이 일치 하는지 확인해야하는데
이때 인증서 파일들이 /root 디렉토리에 위치해야한다. 아래 명령어를 입력해서 확인해보자.
명령어 입력 후 (stdin) = 숫자 어쩌구 영어 저쩌구 가 서로 동일하면 일치하는 파일이라는 뜻.
openssl rsa -in (개인키파일명) -modulus -noout | openssl md5
openssl x509 -in (SSL인증서파일명) -modulus -noout | openssl md5
/etc/apach2 폴더 안에 인증서들을 보관할 ssl 폴더를 만든 후 개인키, 인증서 파일들 모두를 복사해 넣어놨다.
보안 강화를 위해 추가로 아래 명령어들을 입력해 권한설정을 해주었다.
chown -R root:root /etc/apache2/ssl // 소유자 설정
chmod 600 /etc/apache2/ssl/*.* // 폴더 안에 있는 파일들에 대한 읽기쓰기 권한
chmod 700 /etc/apache2/ssl // ssl 폴더의 읽기,쓰기,실행 권한
내 서버의 apache2 폴더 안 구성은 아래 이미지와 같다.
default-ssl.conf >> https 로 접속했을 때
default.conf >> http 로 접속했을 때
default-ssl.conf 를 복사해서 수정해서 사용하면 된다.
복사한 파일의 이름은 편의상 '도메인-ssl.conf' 로 지정했다.
(httpd-ssl.conf 일 수도 있다.)
<VirtualHost _default_:443>
ServerName 도메인.com
ServerAlias www.도메인.com
ServerAdmin webmaster@localhost
DocumentRoot /home/public_html
이 아래로 어쩌구 내용이 많은데 딱 세가지만 확실하게 수정하면 된다.
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/인증서파일
SSLCertificateKeyFile /etc/apache2/ssl/개인키파일
위 세가지는 기본으로 주석이 해제 되어있어서 인증서 파일이 있는 경로로만
수정해주면 되는데 아래에 보면 중개사 인증서를 넣는 곳은 주석처리가 되어있다.
SSLCertificateChainFile /etc/apache2/ssl/중개사 인증서 파일
(얘는 안 넣어도 되는거 같은디..걍 넣어줘봤음)
</VirtualHost>
저장하고 apache2 서버를 재시작 한 후 https://도메인.com 으로 접속해보자.
접속이 된다면 인증이 된거다!!
다 하고 보니 이렇게 간단한건데 나는 왜 그렇게 고생을 했던걸까...
알 수 없다 지난 이틀이 생각이 나지 않는다.
가비아에 있는 가이드만을 참고 하기엔 서버환경이나..파일명들이 달라 좀 헤맸던 것 같다.
SSL 인증이 완료되어 https로 접속이 되는 것 까지 확인이 되었다면
이제 내 사이트에 접속했을 때 알아서 https로 접속이 되도록 설정해주어야 한다.
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
위 세줄만 파일안에 추가해주면 된다.
여기서 주의할 점은 ssl.conf가 있었던 sites-available 이 아닌
sites-enabled 폴더 안에 있는 conf 파일에 추가해야 된다는 것.
이것으로 ssl 인증이 끝났다.
이제 내 사이트에 접속하면 도메인 옆에 느낌표가 아닌 자물쇠가 표시된다.
든든하다...