클라우드 패널(CloudPanel) ACME GTS 구글 와일드카드 인증서 발급하기 (심화)
이 내용은 아직 번역본이 없습니다.
클라우드 패널에서 클라우드 플레어 프록시를 켜면, 인증서 발급이 되지 않죠. 그래서 1. 클라우드플레어 원본 인증서를 업로드하거나, 2. 인증서 발급할 때, 프록시를 끄면 되는데, 번거롭죠. 그리고 사이트를 만들면 새로 인증서를 붙여줘야 하는데 그것도 귀찮습니다. 끄면 인증서 오류가 나는 것도 문제입니다.
그래서 간단하게 acme.sh로 미리 인증서를 만들어두고, incron으로 사이트가 생기면 바로 인증서를 붙여보겠습니다. DNS API를 사용하므로, 와일드 카드 인증서도 발급가능합니다. 이 글은 GTS를 사용해서 발급합니다. 그러나 꼭 구글 인증서를 사용하지 않으셔도 Let’s encrypt나 기타 인증서도 발급해서 바로 붙일 수 있습니다.
어렵지는 않습니다만, 개인에 맞게 수정을 조금 하셔야 합니다. 따라서 처음 하시는 거라면 낯설어 어렵게 느껴질 수 있습니다. 그래도 최대한 자세하게 기록 해보겠습니다.
크게 작동 로직은 아래와 같습니다.
acme.sh로 미리 인증서를 발급
incron으로 /etc/nginx/sites-enabled/ 경로 감시
클라우드 패널에서 사이트 생성 (그 결과 /etc/nginx/sites-enabled/에 파일이 생김)
incron 트리거로 clp 명령어 실행, 루트 도메인으로 검색해서 생성된 사이트에 기존에 발급해 놓은 인증서 붙임
(결론) 따라서 미리 사이트를 만드신 상황이라면, 수동으로 한번은 붙여주셔야 합니다.
1. acme와 incron 설치하기
원본 깃허브 [[바로가기](https://github.com/ccMatrix/cloudpanel.helper)] (Apache License 2.0)
포크 깃허브 [[바로가기](https://github.com/Navystack/cloudpanel.helper)] (Apache License 2.0)
(포크 후 acme.sh 기본 옵션으로 인증서를 발급하면 생기는 경로로 맵핑 했습니다.)
2. GCP EAB 키 ID 및 HMAC 요청
1) CLI 이용하기
2) GUI 이용하기
GCP 프로젝트를 선택한 후 바로 클라우드 쉘 실행 (종 왼쪽에 아이콘 있습니다.)
3. acme.sh에 등록
4. 클라우드 플레어 API 토큰 발급
1) DNS API용 토큰 발급
사람 모양 클릭
내 프로필 클릭
API 토큰
토큰 생성 클릭
- 탬플릿 사용 클릭
적절하게 권한 설정하시면 됩니다.
DNS 영역 편집 권한은 반드시 들어가야하며, 영역 리소스는 적절하게 선택하시면 됩니다.
요약 계속으로 진행합니다.
토큰 생성으로 진행합니다.
클라우드 플레어 API토큰이 나온 페이지를 닫지 마세요
보안을 위해서 한번만 보입니다.
2) 어디서든 좋습니다. 계정 ID 확인하기
저는 R2에서 확인했습니다.
5. 인증서 발급하기
개인에 맞게 선택하시면 됩니다.
기본적인 구조는 1) 기본
을 확인하시면 되고, 나머지는 개행해서 처음 하시는 분들이 보기 편하게 했습니다.
1) 기본
2) RSA-4096으로 발급
3) ECC로 발급
단, ECC발급시 /usr/local/bin/clp-install-certificate
스크립트에서 경로 수정하거나, 발급하는 위치를 수정해야 합니다.
6. 스크립트 적용하고, Nginx 리로드
7. (번외) CLI에서 기존에 만든 사이트에 바로 붙이기
수고 많으셨습니다. 감사합니다.
Askfront.com (에스크프론트)
에스크프론트
에서는 NavyStack 가이드뿐만 아니라, 궁금한 모든 질문을 환영합니다. 😊