[SSL] win-acme와 Let’s encrypt로 무료 SSL 인증서 발급하기
1. ToDo
https를 설정하기 위해서는 SSL이 있어야 하는데 유료이다.
하지만 능력자분들이 win-acme와 Let’s encrypt로 무료 SSL 인증서를 발급할 수 있게 해줬다.
win-acme 프로그램을 통해 무료로 발급 가능한데 여기에서 프로그램을 다운로드 하면 된다.
다운로드 받은 후에 압축을 풀고 .exe 파일을 더블 클릭해 실행하거나, cmd를 켜서 압축 푼 위치로 이동한 다음에 다음 명령어로 실행한 다음에 사용법을 참고하면 된다.
1
wacs.exe
2. 사용법
우리는 처음이기 때문에 M
을 입력해 인증서를 생성해준다.
M: 전체 옵션을 이용해 인증서 생성
R: 갱신
A: 갱신 관리
사용자가 직접 입력하면서 진행하므로 2번 선택
그럼 Host를 입력하라고 할텐데 본인의 도메인을 입력해주면 된다. 그리고 Friendly… 라고 뜰텐데 Enter로 넘기면 된다.
인증서를 어디에 저장할 것이냐고 묻는데 웬만하면 1번을 선택하자.
그렇다면 path를 입력하라고 할텐데 도메인의 root 위치를 입력하면 된다. 그리고 web.config 파일을 만들거냐고 묻는데 나는 저장하지 않을 것이기 때문에 no를 입력했다.
*Apache일 때 기본 root는 ${SRVROOT}/htdocs이다.
키 속성 값은 RSA key로 결정
저장할 파일과 파일 경로를 입력해줘야하는데 먼저 2를 입력한 다음에, file path에 .pem 파일을 보관할 디렉토리 위치를 입력하면 된다.
그 다음에 패스워드는 저장하지 않기 위해 1번을 입력하고
또 다른 곳에 파일을 저장할거냐나는 질문에 저장하지 않을 것이기 때문에 5와 3을 순서대로 입력해준다.
그럼 지정한 file path에 .pem 파일들이 생겼다.
3. 443 포트 설정
3-1. httpd.conf
1
2
3
# 주석 해제하기
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so
3-2. httpd-vhost.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
<VirtualHost *:443>
DocumentRoot {root path}
ServerName {domain}
<Directory {root path}>
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile "{file path}/{domain}-crt.pem"
SSLCertificateKeyFile "{file path}/{domain}-key.pem"
SSLCertificateChainFile "{file path}/{domain}-chain.pem"
</VirtualHost>
지금까지 에러 없이 잘 따라왔다면 https://{domain}에 접속이 잘 될 것이다.