← 메인 목차로 돌아가기

3부: 도메인 매핑 & 보안 — 방패 세우고 내 주소 달기

6장. 보안 경고 학살:
HSTS 및 525 에러 완파와 구름 릴레이 전략

보안 방패인 Cloudflare와 구글 인프라 엔진(Cloud Run / Firebase)을 커스텀 도메인으로 엮을 때, 가장 악명 높은 통곡의 벽이 바로 '525 SSL Handshake Failed' 에러와 브라우저의 'HSTS 접근 차단 붉은 화면'입니다. 이 두 현상은 보안을 느슨하게 풀었다가 조이는 찰나의 통신 규약 불일치로 발생합니다.

바이브 코딩은 원인을 알 수 없는 무한 새로고침이나 막연한 대기를 거부합니다. 보안 상태를 물리적으로 제어하고 완벽하게 통제하는 '구름 릴레이(Cloud Relay) 전략'으로 이 보안 장애물을 즉시 완파합니다.

🚨 1. 525 에러와 HSTS 경고가 발생하는 진짜 이유

대부분의 초보 개발자는 도메인을 연결하자마자 Cloudflare의 강력한 기능인 '주황색 구름(Proxied)'을 켜버립니다. 이 상태에서는 구글 엔프라 엔진이 도메인의 진짜 소유주를 검증하기 위한 Let's Encrypt SSL 인증서를 발급받지 못하는 병목 현상이 일어납니다.

☁️ 2. 돌파 매뉴얼: 구름 릴레이(Cloud Relay) 3단계 프로토콜

이 문제를 해결하기 위해서는 Cloudflare의 DNS 프록시 제어 권한을 찰나의 순간 동안 열었다가 다시 닫는 정밀 제어가 필요합니다.

[1단계: 발급 유도] 회색 구름 (DNS Only) ➡️ 구글 엔진이 도메인 소유권을 직통 확인하고 자체 SSL 발급 완료
[2단계: 보안 격상] Cloudflare TLS 모드를 'Flexible'에서 'Full (전체)'로 승격
[3단계: 방패 가동] 주황색 구름 (Proxied)으로 전환 ➡️ 캐시 및 디도스 보안 방패 최종 활성화

정밀 수행 순서

  1. 회색 구름 다운그레이드: Cloudflare DNS 메뉴에서 해당 레코드의 프록시 상태를 클릭하여 회색 구름(DNS Only)으로 변경하고 저장합니다.
  2. 구글 인증서 발급 확인: 이 상태로 1~2분 대기하면, 구글 클라우드 콘솔의 도메인 매핑 상태가 '인증서 발급 중'에서 '완료/녹색 체크'로 바뀝니다.
  3. SSL 전체 모드 격상: Cloudflare 좌측 메뉴의 SSL/TLS ➡️ Overview로 이동하여 암호화 모드를 반드시 Full 또는 Full (Strict)로 체크합니다. (Flexible 모드로 두면 525 에러 또는 무한 리다이렉트 루프에 빠집니다)
  4. 주황색 구름 컴백: 다시 DNS 메뉴로 돌아와 레코드를 주황색 구름(Proxied)으로 복구합니다. 방패가 완전히 복원되었습니다.

🧹 3. 지독한 HSTS 브라우저 캐시 학살하기

인프라 세팅을 올바르게 고쳤음에도 크롬 브라우저가 계속 붉은색 경고 창을 띄우며 진입을 막는다면, 그것은 서버의 문제가 아니라 브라우저의 지독한 보안 캐시 때문입니다. 아래의 원초적 명령으로 브라우저의 뇌리를 완전히 포맷합니다.

  1. 크롬 브라우저 주소창에 chrome://net-internals/#hsts를 입력하고 엔터를 누릅니다.
  2. 가장 아래쪽에 있는 Delete domain security policies 입력 칸을 찾습니다.
  3. 내 도메인 주소인 vibecoding.goguma.app을 입력하고 **Delete** 버튼을 강제 주입합니다.
  4. 브라우저를 완전히 종료한 뒤 재접속하면, 묵은 경고가 완전히 학살되고 청정 웹 화면이 즉시 열립니다.

💡 바이브 코딩 철학 노트 (Vibe Note)

보안은 무조건 단단하게 잠그는 것이 능사가 아닙니다. 인프라와 인프라가 최초의 악수를 나누는 찰나의 순간(Handshake)에는 문을 열어 길을 터주고, 동기화가 끝난 즉시 방패를 올려 걸어 잠그는 유연한 흐름 제어, 그것이 바로 완벽한 시스템 구조를 완성하는 바이브 코딩의 눈빛입니다.