인증서를 발급하기 위해서 인증서관리자 항목 인증서와 기존 인증서의 차이를 이해하고 각각의 어떤 역할을 하는지 정확히 알고 어떻게 https를 연결할 수 있는지 작성을 하였다. 원래는 기존 인증서만을 통해서 SSL 인증서 만들기로 인증서를 만들었지만 도메인에 인증서 상태가 fail로 나타나고 인증서에 인증서 추가를 통해 인증서를 발급받았지만 ssl 인증서가 아니라 로드 밸런서에서 인식을 못 하기에 각 인증서의 역할과 이해가 부족해서 문제가 발생하게 되었고 문제를 해결한 방법에 대해 블로그로 정리를 해보았다.
1. 인증서 발급 및 적용
인증서 관리자에서 인증서에서 인증서 추가를 통해 도메인을 인증 받습니다.
DNS 레코드를 추가하여 도메인 소유권을 인증하도록 합니다. 이때 CNAME 레코드가 정상적으로 작동하면 인증서가 발급이 되는 겁니다
dig <인증서 DNS 레코드이름> CNAME
여기서 인증서 DNS 레코드이름은 배포한 서버의 도메인이 아닌 인증서에 있는 DNS 레코드 이름으로 해야한다.
2. SSL 인증서 생성
인증서가 발급되고 도메인 소유가 확인되면 기존 인증서에서 SSL 인증서 만들기를 통해 SSL 인증서를 생성한다.
SSL 인증서는 GCP에서 관리되는 인증서로, 로드 밸런서에서 HTTPS 연결을 위한 인증서로 사용된다.
3. 로드 밸런서 설정
GCP Load Balancer를 통해 프론트 엔드 IP를 생성하고, HTTPS 리스너를 설정한다.
HTTPS 리스너에서 생성한 SSL 인증서를 선택하여 적용해도록한다.
*새로 생성한 프론트 엔드 IP를 Cloud DNS에서 A레코드를 생성하여 도메인 -> 프론트엔드 IP와 연결되도록 한다.
백엔드 서비스는 인스턴스 그룹을 통해 설정된다. 인스턴스 그룹은 VM인스턴스를 그룹화하여, 부하 분산 및 자동 확장을 지원하는 역할을 한다. 백엔드 서비스에서 HTTP를 선택하여 요청을 백엔드 인스턴스로 전달하도록 한다.
이렇게한다면 HTTP -> HTTPS 리디렉션을 설정하여, HTTP로 접근할 경우 자동으로 HTTPS로 리디렉션되도록 할 수 있다.
'프로젝트' 카테고리의 다른 글
웹소켓 Operational Error : database timeout or blocking (0) | 2024.12.30 |
---|---|
웹소켓 포트 충돌 문제 (0) | 2024.12.30 |
Docker 네트워크 오류 (1) | 2024.12.19 |
OpenAI 연결 방법 (2) | 2024.12.19 |
EC2 Amazon Linux 이미지 - 버전 관리 (1) | 2024.12.18 |