티스토리 뷰
회사에서 진행하는 프로젝트가 AWS EC2 인스턴스에 배포되어 있었고 TLS/SSL 적용이 필요하여
해당 인스턴스에서 certbot certonly --standalone 명령어 사용으로 인증서 생성 후 spring boot(java) 에 적용하였다.
프로젝트가 회사의 서비스를 소개하는 간단한 페이지로 구성되어 있어 단순 반복 업무인 배포 행위를 줄이기 위해
새로운 EC2 인스턴스를 생성하고 CodePipeline 으로 자동 배포를 적용한 후 인증서도 적용하기 위해
--standalone 명령어를 사용하여 인증서 발급을 시도했을 때 아래와 같은 에러 메시지가 발생했다.
동일한 구성의 EC2 인스턴스 2개에서 어떤건 인증서 발급이 되고 안되고의 이유는 아래와 같다.
첫 번째 인증서 발급을 시도한 EC2 인스턴스는 해당 인스턴스 IP를 호스팅 업체에서 구매한 도메인에 매핑한 후
인증서 발급을 시도하여 Letsencrypt certbot이 도메인에 접근했을 때 매핑된 ip/record가 확인되어 정상적으로
인증서 발급이 되었다.
두 번째 인증서 발급을 시도한 EC2 인스턴스는 사전에 매핑 작업을 하지 않았고 인증서 발급을 시도하여 소유자 확인이
되지 않아 발생한 문제였다.
Option --manual 사용하여 해결하기
기존에 생성한 EC2 인스턴스를 종료할 예정이며 새로 생성한 EC2 인스턴스를 사용할 예정이여서
위 에러 내용에서 언급한 도메인과 새로 생성한 인스턴스를 매핑하여 해결하는 방법이 있고
--manual 을 사용하여 해결하는 방법이 있다.
- --standalone
- 독립 실행형 웹서버로 도메인과 웹서버가 매핑되어 있는 경우 사용 가능
- --manual
- 옵션 설명에는 interactively or using shell script hooks 라고 표기
- 아래에서 사용 방법 확인
sudo certbot certonly --manual -d '도메인명' [-d ... 여러개 적용 가능] --preferred-challenges dns
도메인명을 포함한 위 명령어를 입력 하고 IP being logged 질의에 'Y' 입력하면 아래와 같은 메시지가 출력된다.
메시지 내용을 읽어보면 확인 가능한데 도메인 서비스에 설정을 완료한 후 엔터 입력해야한다.
위 이미지에서 중간 아래쯤 보면 _acme-challenge.도메인명과 6hba 로 시작하는 긴 문자열로 인증 절차를 진행해야 한다.
후이즈 로그인 > 구매한 도메인 네임서버 고급설정 > SPF(TXT) 레코드 관리 클릭
도메인명에 _acme-challenge 입력, SPF(TXT) 레코드에 6hba 로 시작하는 문자열 붙여넣고 설정 저장 후
AWS EC2 인스턴스 ssh로 돌아와서 Enter 입력하면
IMPORTANT NOTES:
- Congratulations ! ... 시작하는 인증서 발급 완료 메시지를 확인할 수 있다.
'Spring Boot' 카테고리의 다른 글
Let's Encrypt 를 이용한 SSL 적용 (0) | 2023.03.27 |
---|---|
jasypt 이용한 properties 암호화 (0) | 2023.03.16 |
- Total
- Today
- Yesterday
- JPA 벌크성 수정 쿼리
- Spring Data JPA
- Spring boot
- logstash
- letsencrypt
- ssl nginx 라우팅
- CodeBuild
- aws codebuild
- 시스템 환경변수
- REST API
- ELK
- aws codecommit
- querydsl
- AWS 로드밸런서 SSL 등록
- Spring Boot 3.x
- 도메인 내부 테스트
- 네임 서버 변경
- AWS MSK
- CodePipeline
- AWS CodePipeline
- certonly
- aws codedeploy
- AWS 자동 배포
- jasypt
- Certbot
- AWS Opensearch
- codedeploy
- properties 암호화
- QueryDSL 사용 방법
- 후이즈에서 AWS Route 53
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |