DevOps/GCP

HTTPS통신을 위한 무료 SSL인증서 발급하기(Let’s encrypt)

_sparrow 2020. 3. 26. 01:34
반응형

목표

구글 클라우드 플랫폼(GCP)의 compute engline 인스턴스에서 http에서 https로 보안 연결하고자 한다.

서버끼리 데이터 교환이 필요한 상황에서 전달해주는 쪽이나 전달받는 쪽이 HTTPS 혹은 HTTP든 하나로 통일되어야 데이터 통신을 할 수 있기 때문

 

 

환경

GCP compute Engine 인스턴스, CentOS 7, Apache 2.4.6, Laravel 5.5

 

 

STEP 1. 인증서 설치

90일 동안 유효한 인증서를 무료 발급받을 수 있는 let’s encrypt를 채택

인증서 설치를 위해 Certbot과 mod_ssl을 먼저 설치

sudo yum install epel-release

sudo yum install certbot python2-certbot-apache mod_ssl

 

 

 

STEP 2. 가상 호스트 설정하기

80번 포트를 사용하는 ip번호와 함께 사용할 도메인(가상 호스트)을 설정

sudo vi /etc/httpd/conf/httpd.conf

httpd.conf 파일 내부 맨 하단에 작성

include /etc/httpd/conf/vhost.conf
<Directory "/home"> 
AllowOverride None
Require all granted
</Directory>

 

 

CentOS의 패키지 설치도구인 yum을 사용해서 아파치 설치했었다면 가상 호스트 관리 파일이 없다. 그렇기 때문에 직접 파일을 만들고 코드를 직접 넣어줘야 함.

sudo vi /etc/httpd/conf/vhost.conf

<VirtualHost *:80>
#       ServerAdmin webmaster@dummy-host.example.com
        DocumentRoot /var/www/html/blog/public (아파치에서 설정한 index폴더위치로 지정해주면 됨)
        ServerName example.com (가상호스트로 쓰는 도메인주소)
        ServerAlias example.com (가상호스트로 쓰는 도메인주소)
#       ErrorLog logs/dummy-host.example.com-error_log
#       CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

가상 호스트 주소가 더많다면 위의 코드하단에 동일하게 서버이름만 변경해서 작성해주면 된다.

 

 

STEP 3. 증명서 얻기

STEP1 진행 후 Certbot이 설치되고 이젠 SSL 인증서를 요청해서 사용

 

sudo certbot --apache -d example.com(사용자의 도메인)

sudo certbot --apache

 

# 설치하다보면 아래와같은 선택지가나오는데 2번으로 설정해주면 https로 바로 리다이렉트된다.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):2


# 입력후 아래와 같은 문장이 나온다면 https 적용이 완료된것

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.

 

 

STEP 4. 적용되었는지 확인

적용하려는 도메인에 접속하게 되고 도메인 주소 옆 자물쇠 모양이 뜬다면 성공

 

반응형