Apache

Apache2 서버에 SSL/HTTPS 설치하기 (StartSSL) - 2

Posted 2013. 01. 13 Updated 2017. 06. 02 Views 20983 Replies 0
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

Ubuntu/Apache2 환경에서 SSL/HTTPS 접속을 구현하는 방법을 알아보겠습니다.


서버에 인증서 파일 업로드

획득한 4가지 아이템을 FTP나 기타 등등 수단과 방법을 가리지 말고(?) 서버에 업로드 합니다.
('획득한 4가지 아이템이 뭐지?!'하고 머리 위에 물음표가 뜬 분들은 지난번 포스트부터 읽고 오세요..^-^)


OpenSSL 설치

최신판 Ubuntu를 사용하는 경우 OpenSSL이 기본적으로 설치되어 있지만, 혹여 아직 설치가 되어 있지 않다면 이를 설치해 주도록 합니다.

sudo apt-get install openssl


Apache2 SSL 모듈 로드

모듈 로드 명령어를 사용하여 Apache2 SSL 모듈을 로드합니다.

sudo a2enmod ssl


default-ssl 파일 작성

apache2/sites-available/default-ssl 파일을 다음과 같이 작성하고 저장합니다.
(필요시 default-ssl이 아닌 다른 파일명을 사용해도 됩니다.)

<IfModule mod_ssl.c>
<VirtualHost *:443>

...

        # SSL 활성화 및 인증서 정보
        SSLEngine on
        SSLCertificateFile      (*.crt 파일의 경로)
        SSLCertificateKeyFile   (*.key 파일의 경로)
        #SSLCertificateChainFile (Chain 인증서 경로)
        #SSLCACertificateFile    (Root 인증서 경로)

...

</VirtualHost>
</IfModule>

#2 : SSL/HTTPS 연결을 사용할 포트번호를 지정합니다. 기본값은 443입니다.
#10 ~ 11 : 해당사항이 있는 경우만 입력합니다. (일부 인증기관의 경우 이 두 줄을 추가해야 정상 동작)

default-ssl 사이트를 활성화시킵니다.

sudo a2ensite default-ssl


서버 재부팅 및 접속 확인

Apache2 서버를 재부팅합니다.

sudo service apache2 restart

재부팅과정에서 SSL KEY 파일의 암호를 묻는 콘솔이 뜨는데, 이 때 KEY 파일의 암호를 입력해줍니다.
(기억이 나지 않으면 지난 포스트를 참조하세요!)

SSL/HTTPS 접속 확인

모든 과정을 잘 따라 오셨다면, https://(자신의 도메인) 으로 접속했을 때 브라우저 주소창 옆에 다음과 같이 SSL 인증이 정상적으로 되었다는 메시지가 표시됩니다.


TIP: KEY 파일의 암호 삭제하기

생성한 KEY 파일에는 암호가 걸려 있어서 Apache2 부팅 과정중 KEY 파일을 로드하는 시점에 암호를 입력해 주어야 합니다. 한 번만 입력하고 그 이후에는 하지 않아도 된다면 아무 문제가 없겠지만, Apache2를 재부팅 할 때마다 물어보게 됩니다..-_-

이럴 경우 서버의 유지관리에 약간의 문제가 발생할 수도 있는데요.. (서버 컴퓨터를 재부팅하면 그때 암호는 누가 입력해주나?!)

이 문제는 KEY 파일의 암호를 제거함으로써 간단히 해결할 수 있습니다.

※ 단, 이 작업을 수행하기 전에 KEY 파일의 사본을 만들어 두어야 하며(추후 갱신시 필요합니다.-StartSSL의 경우 1년마다 인증서 갱신을 해 주어야만 합니다.), 서버에 업로드한 KEY 파일의 보안이 확보되어야 합니다. (웹 디렉토리 등에 저장하지 않습니다!)

sudo openssl rsa -in (*.key 파일) -out (*.key 파일)

- 참 쉽죠잉??^^