서버내 Certbot으로 SSL 인증서 발급 및 적용 하는 방법
안녕하세요.
JP-HOSTING 입니다.
도메인(웹서버) 운영 시 보안을 위해 https 설정을 하시는 분들이 많으신데요
HTTPS란?
저희 프록시를 통하여 인증 및 설정도 가능하지만
인증서에 도메인 개별 정보를 띄우는 방법도 따로 있기에
서버내에서 SSL 인증서 발급 및 적용 하는 방법을 기술 해 보겠습니다.
1. 도메인 준비
2. Python 설치
https://www.python.org/downloads/
Certbot을 설치하기 위해 설치해 줍니다.
3. CMD 창을 열어 잘 설치가 되었는지 확인해 줍니다.
3-2. 확인에 에러가 확인 될 경우
Python 환경 변수 수동 설정
1.1 환경 변수 편집 열기
- Windows 검색에서 "환경 변수 편집"을 검색하여 실행합니다.
- 시스템 속성 창에서 환경 변수(N) 버튼을 클릭합니다.
2.2 Path 변수 편집
시스템 변수 섹션에서
Path
를 찾아 선택한 뒤 편집(E) 버튼을 클릭합니다.새로 만들기(N) 버튼을 클릭하고, Python의 설치 경로를 추가합니다:
- 예:
C:\Users\Administrator\AppData\Local\Programs\Python\Python313
- 추가로, Python의
Scripts
경로도 넣어야 합니다:- 예:
C:\Users\Administrator\AppData\Local\Programs\Python\Python313\Scripts
- 예:
- 예:
모든 창에서 확인을 클릭하여 변경 사항을 저장합니다.
4. Certbot 설치
설치pip install certbot
확인
certbot --version
CMD 창에 위 명령어를 입력하여 확인 해 줍니다
5. 인증서 발급
certbot certonly --standalone -d yourdomain.com
인증서의 저장 경로 예시
C:\Certbot\live\yourdomain.com\
6. 인증서 변환(PFX 파일로 변환)
https://slproweb.com/products/Win32OpenSSL.html
작업을 위해 OpenSSL을 설치해 줍니다.
- Certbot은 .pem 파일을 생성하지만, IIS는 .pfx 형식을 요구합니다. 이를 변환하려면 OpenSSL을 사용합니다.
OpenSSL 설치 경로 확인
먼저 OpenSSL이 설치된 정확한 경로를 다시 확인해 주세요. 설치된 경로는 bin
폴더 안에 openssl.exe
가 있어야 합니다.
예를 들어, OpenSSL이 C:\Program Files\OpenSSL
에 설치되었다면, 그 안에 bin
폴더가 있어야 합니다.
이후 CMD에서
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in fullchain.pem
7. 인증서 변환(PFX 파일로 변환) 2 - 문제 점 해결 방법
이메일 주소를 입력 시 예시
Enter email address (used for urgent renewal and security notices): [email protected]
이메일 주소를 생략 시 예시
certbot certonly --standalone -d yourdomain.com --register-unsafely-without-email
+ CMD를 껐다가 관리자 권한 실행
+ 80포트 점유중인 설정 중지 후 재시도
어떤게 80포트를 점유 중인지 확인
tasklist | findstr 1234
PID 4번이 점유 중일 경우 (어떤 프로세스인지 확인 가능)
tasklist | findstr 4
HTTP.sys 서비스를 중지
net stop http
HTTP.sys를 다시 활성화
net start http
IIS를 중지(완전 중지)
iisreset /stop
IIS를 중지(w3svc만 중지)
net stop w3svc
IIS 재시작
iisreset /start
IIS 재시작(w3svc만 재시작)
net start w3svc
+ Certbot 실행 재시도
certbot certonly --standalone -d gyunew.site --register-unsafely-without-email
+ 80포트 중지(해지)가 어려울 경우
certbot certonly --manual --preferred-challenges dns -d yourdomain.com
8. 인증서 등록
OpenSSL을 통하여 .pfx 형식으로 만들어진 인증서를 IIS에서 등록해 줍니다.
마지막 사진은 정상등록 된 모습입니다.
이상으로
서버내에서 Certbot으로 SSL 인증서 발급 및 적용 하는 방법이었습니다.
JP-HOSTING 였습니다.
감사합니다.