서버내 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 였습니다.
감사합니다.