1. 도메인 발급하기
예시 사이트 : 내 도메인 (https://xn--220b31d95hq8o.xn--3e0b707e/)
내 도메인이라는 사이트는 무료로 도메인을 발급받을 수 있어서 SSL 테스트 용 도메인으로 사용하기 적합하다.
(유효기간 3개월)
일반 도메인 뿐만이 아니라 한글 도메인도 지원이 가능하다는 특징이 있다.
회원가입 후 로그인 하여 원하는 도메인을 검색하면 도메인 검색 결과가 뜨는데 오른쪽의 등록하기 버튼을 이용해 도메인으로 사용이 가능하다.
그 다음 도메인 관리 탭에서 도메인 수정을 통해서 도메인 정보를 수정할 수 있다.
위의 그림과 같이 A레코드 추가를 통해서 서버 IP에 도메인을 등록한다.
2. 인증서 발급하기
인증서 사이트에는 여러 종류가 있지만, 여기서는 가장 사용법이 쉬운 let's encrypt 인증서를 사용해본다.
(let;s encrypt는 3달에 한번씩 인증서를 갱신해줘야하는 불편함이 있다..)
let's encrypt
웹 사이트에서 HTTPS를 사용하려면 CA(인증 기관)에서 인증서(파일 유형)를 가져와야 합니다. Let’s Encrypt는 CA입니다. Let’s Encrypt에서 웹 사이트 도메인에 대한 인증서를 받으려면 도메인에 대한 제어를 시연해야 합니다. Let’s Encrypt에서는 일반적으로 웹 호스트에서 실행되는 ACME 프로토콜을 사용하는 소프트웨어를 사용하여 이 작업을 수행합니다.
아래의 명령어를 이용해서 let’s encrypt 인증서를 발급받기 위한 모듈을 다운받는다.
sudo apt-get install letsencrypt
다음 명령어를 통해서 인증서를 발급 받을 수 있다.
sudo letsencrypt certonly --webroot-path=[톰캣 webapp경로] -d [도메인 이름]
명령어를 실행 시키면 아래와 같은 화면이 나오는데, standalone 방식을 사용하기 위해서 Apache2가 실행되고 있다면 중지 시켜줘야한다. standalone도 80포트를 이용해 HTTP-01를 사용하기 때문에 포트 충돌이 발생하기 때문이다. 자세한 내용은 링크 참고(https://letsencrypt.org/ko/docs/allow-port-80/)
아래는 Apache2 실행 중단 명령어
sudo /etc/init.d/apache2 stop
1: Spin up a temporary webserver (standalone) : 80포트를 중지시킨 이후 실행해야한다.
2: Place files in webroot directory (webroot) : 80포트가 살아있어도 실행이 가능하다.
Enter email address : email 주소를 입력한다.
인증서 발급이 성공적으로 완료됐다면, 아래 명령어를 입력했을 때 다음과 같은 화면이 뜬다.
sudo letsencrypt certificates
참고로 인증서를 폐기하는 명령어는 다음과 같다.
sudo letsencrypt delete
3. 환경파일에 인증서 등록하기
Tomcat과 Apache2를 연동시켰지만, Apache2를 이용해 Tomcat으로 접근함으로 SSL 인증서 등록은 Apache2 서버 파일에 한다.
아래의 명령어로 ssl_module을 확인한다. 없다면 사진과 같이 ssl_module 코드 블럭을 추가해준다.
sudo vi /etc/apache2/ports.conf
다음으로 default-ssl.conf 파일을 아래와 같이 수정해준다.
sudo vi /etc/apache2/sites-available/default-ssl.conf
apache2의 80 포트에 tomcat 연결을 하기 위한 코드를 추가한다.
DocumentRoot [톰캣 경로]
JkMount /* [woker 이름]
위의 코드가 이해가 안간다면 다음 링크를 참고( )
기존 코드의 SSLCertificateFile, SSLCertificateKeyFile 부분을 주석처리하고, 아래와 같이 수정한다.
SSLCertificateFile /etc/letsencrypt/live/[도메인 이름]/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/[도메인 이름]/privkey.pem
아래는 default-ssl.conf의 예시 사진이다.
위에서 수정한 default-ssl 설정 파일 활성화와
sudo a2ensite default-ssl
ssl 모듈 활성화를 한 후
sudo a2enmod ssl
아파치를 재실행 시켜준다.
sudo /etc/init.d/apache2 restart
https://[도메인 이름] 들어가면, 보안연결이 정상적으로 사용되고 있음을 확인할 수 있다.
참고 자료 : https://letsencrypt.org/ko/getting-started/
'BackEnd > Server' 카테고리의 다른 글
[Apache2] .htaccess 설정 파일 사용하기 (4) | 2021.02.07 |
---|---|
AWS EC2 .pem 파일없이 접속하기 (0) | 2021.02.06 |
[SSL] Letsencrypt SSL 인증서 수동 갱신하기 (0) | 2021.01.19 |
아파치(Apache2) + 톰캣(Tomcat8.5) JkMount로 url 구분하기 (0) | 2020.03.09 |
아파치(Apache2) + 톰캣(Tomcat8.5) 연동하기 (0) | 2020.03.05 |
댓글