인증서 갱신 방법
clmBot은 두 가지 인증서 갱신 방식을 지원하며, 서버 네트워크 환경에 따라 각각 선택할 수 있습니다.
| 갱신 방식 | 작동 모드 | 포트 요구 사항 | 적용 시나리오 |
|---|---|---|---|
| 클라우드 푸시 | 관리 백엔드에서 푸시를 시작하고, clmBot 서버가 수신하여 갱신합니다 | 8862/tcp 인바운드 포트 개방 필요 | 네트워크 정책이 허용하고 갱신이 즉시 적용되어야 하는 경우 |
| 정기 풀링 | clmBot이 정기적으로 클라우드에 새 인증서가 있는지 확인하여 자동으로 갱신합니다 | 인바운드 포트 개방 불필요 | 인바운드 포트를 개방할 수 없는 서버(권장 기본 방식) |
두 방식은 서로 충돌하지 않으며, 같은 서버 그룹에서 일부는 푸시를, 일부는 정기 풀링을 사용할 수 있습니다.
방식 1: 클라우드 푸시
서버에서 clmBot 서버 시작
./clm-bot-linux-amd64 server -a="0.0.0.0:8862"
-a 수신 주소와 포트를 지정하며, 기본값은 0.0.0.0:8862입니다. 시작 후 clmBot은 서버로 상주 실행되며 클라우드 푸시를 기다립니다.
- 서버 방화벽과 클라우드 보안 그룹에서
8862/tcp인바운드 포트를 열어야 합니다. - clmBot 서버는 클라우드 푸시 연결에 양방향 TLS 인증을 활성화하며, 접속 활성화를 완료한 노드 푸시 인증서만 허용합니다.
인바운드 포트를 열지 않으려면 방식 2: 정기 풀링을 사용하십시오.
clmBot 서버는 푸시를 수신하려면 계속 실행 중이어야 합니다. 프로덕션 환경에서는 시스템 서비스로 등록하고 부팅 시 자동 시작하도록 설정하는 것이 좋습니다. 서비스화 배포 및 업그레이드를 참조하십시오.
관리 콘솔에서 인증서 푸시
관리 콘솔에 로그인하여 설치 지점 목록으로 이동한 후 대상 설치 지점을 찾아 인증서 푸시를 클릭하면, 확인 후 시스템이 최신 인증서를 서버로 푸시하고 자동으로 업데이트를 완료합니다.
방식 2: 정기 풀링
정기 풀링 모드는 인바운드 포트를 열 필요가 없으며, clmBot이 정기적으로 업데이트 검사를 실행하므로 권장되는 기본 방식입니다.
Linux: crontab 구성
clmBot 업데이트 명령을 crontab에 추가합니다:
crontab -e
행 추가(매일 새벽 3시에 인증서 갱신 확인 실행):
0 3 * * * cd /opt/clm-bot && ./clm-bot-linux-amd64 update-certificate >> update.log 2>&1
- 명령 실행 전 반드시
cd를 clmBot 설치 디렉터리로 이동한 후 실행해야 합니다. clmBot은 기본적으로 현재 디렉터리에서config.yaml를 읽기 때문입니다. - 디렉터리를 이동하지 않고
-c매개변수로 구성 파일 경로를 지정할 수도 있습니다:./clm-bot-linux-amd64 -c /opt/clm-bot/config.yaml update-certificate. - 경로는 실제 설치 디렉터리로 바꾸십시오.
실행 출력은 update.log에 추가되며, 동시에 clmBot은 구성 파일이 있는 디렉터리의 logs/clm-bot.log에 실행 로그를 기록합니다.
Windows: 예약 작업 구성
Windows 서버에서 예약 작업을 생성하여 정기적으로 실행합니다:
cd /d C:\clm-bot && clm-bot-windows-amd64.exe update-certificate >> update.log 2>&1
생성이 완료되면 작업을 마우스 오른쪽 버튼으로 클릭하여 실행을 선택해 검증한 후, 설치 디렉터리에서 로그를 확인하여 실행 결과를 확인할 수 있습니다.
인증서 자동 재서명 및 갱신
clmBot이 갱신하는 인증서는 클라우드의 자동 재서명에서 제공됩니다. 관리 백엔드에 로그인하여 SSL 인증서 상세 페이지로 이동한 후, 자동 재서명 설정에서 재서명 주기(예: 30일)를 선택하거나 입력하고 저장합니다.
설정 후 전체 효과:
- 인증서 만료 전에 클라우드가 재서명 주기에 따라 자동으로 재서명을 완료하여 새 인증서를 생성합니다.
- clmBot이 설정된 방식(푸시 또는 정기 풀링)으로 새 인증서를 가져옵니다.
- clmBot이 로컬 인증서를 업데이트합니다.
- 로컬 인증서가 클라우드의 최신 인증서와 일치하면 업데이트를 건너뜁니다.
- 일치하지 않으면 로컬 인증서 파일을 자동으로 백업하고(타임스탬프가 포함된
.bak백업 생성), 순서대로before_script, 새 인증서 쓰기,after_script를 실행하여 서비스 재로드를 완료합니다.
인증서를 갱신하지 않고 after_script를 한 번 강제로 실행해야 하는 경우(예: 재로드 스크립트 디버깅), --force-after 매개변수를 사용할 수 있습니다.