From 91a6c2a9a9e5eae50f04a4c2a492ae03b411f966 Mon Sep 17 00:00:00 2001 From: AWESOMEDEV Date: Fri, 17 Jul 2026 16:33:15 +0900 Subject: [PATCH] =?UTF-8?q?fix(cache):=20=ED=95=99=EC=8A=B5=20=EB=AC=B8?= =?UTF-8?q?=EC=84=9C=EC=97=90=20Cache-Control:no-cache=20=E2=80=94=20?= =?UTF-8?q?=EC=98=9B=20=EB=B3=B4=EC=95=88=ED=97=A4=EB=8D=94=EA=B0=80=20?= =?UTF-8?q?=EC=BA=90=EC=8B=9C=EC=97=90=20=EB=88=8C=EC=96=B4=EB=B6=99?= =?UTF-8?q?=EB=8A=94=20=EB=AC=B8=EC=A0=9C=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Frame-Options를 SAMEORIGIN으로 고쳤는데도, 예전에 DENY로 받은 문서가 브라우저 캐시에 남아 일반 새로고침으로는 계속 '연결 거부'가 났다. /docs/* 응답에 no-cache를 걸어 브라우저가 매번 서버에 재검증하게 함 — 이후로는 헤더가 바뀌면 즉시 반영된다. Caddy 재기동만으로 적용. 검증: 문서 응답에 Cache-Control:no-cache + X-Frame-Options:SAMEORIGIN 확인. Co-Authored-By: Claude Opus 4.8 --- deploy/Caddyfile | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/deploy/Caddyfile b/deploy/Caddyfile index 6400889..e4bd5ed 100644 --- a/deploy/Caddyfile +++ b/deploy/Caddyfile @@ -35,6 +35,13 @@ edu.awesomedevapp.com { reverse_proxy backend:8080 } + # 학습 문서(HTML)는 캐시에 눌어붙지 않고 늘 서버에 재검증하게 한다. + # 학습 포인트: 예전에 실수로 X-Frame-Options:DENY가 붙은 문서가 브라우저에 캐시되면, + # 서버를 고쳐도 브라우저가 옛 응답을 재사용해 계속 막힌다("연결 거부"). no-cache는 + # "쓰기 전에 서버에 물어봐"라 헤더가 바뀌면 바로 반영된다. (문서는 작아서 비용도 작다.) + @docs path /docs/* + header @docs Cache-Control "no-cache" + handle { root * /srv try_files {path} /index.html # 새로고침해도 React 라우터가 동작하게 하는 설정