fix(core): 레이아웃 첨부 URL 이 항상 프록시로 발급되던 결함 수정

공개 자산 스토리지를 설정해도 레이아웃 배경 이미지가 매번 오리진 PHP 를
거쳐 서빙되던 결함을 고친다 (https://github.com/gnuboard/g7/issues/134).
판정 기준은 운영자가 명시 선언한 core.storage.public_asset_disk 와 행 disk
의 일치다 — 디스크의 url 설정 유무로 판정하면 비공개 버킷에 공개 URL 이
설정된 구성에서 발급된 주소가 403 이 되어 그 이미지가 전부 깨진다.

전수조사에서 함께 처리한 것: 게시판 첨부 응답 url 칸(항상 null → 게이트가
살아 있는 서빙 URL), 페이지의 미배선 메서드 삭제, 확장 카테고리별 저장소
URL·경로 조회 교정, 그리고 이번 변경이 새로 만드는 고아 disk 위험 방어
(무인증 공개 서빙 라우트가 500 이 되는 것을 404 로 degrade).

문서화 하네스도 함께 보강한다. 실측을 수행하고도 이력 문서에는 판정만 남기면
대화 로그가 사라진 뒤 아무에게도 도달하지 않는데, 그 강제가 보고 형식에만
있었다.
This commit is contained in:
HeuJung
2026-09-08 12:54:29 +09:00
parent e160a86f0d
commit 5c2e42c133
42 changed files with 1427 additions and 83 deletions
@@ -17,6 +17,7 @@
### Fixed
- 로그인 시도 초과로 계정이 잠겼을 때 해제 시각이 화면에 표시되지 않던 문제를 수정했습니다. 언제 다시 시도할 수 있는지 알 수 없어 계속 눌러 보게 되었습니다.
- 환경설정 > 드라이버의 「공개 자산 스토리지」 설명에 레이아웃 배경 이미지가 대상에 포함된다는 점과, 설정을 켠 뒤 올린 파일만 저장소 주소로 바뀌며 그 주소가 저장된 레이아웃에 남는다는 점을 덧붙였습니다.
## [1.0.8] - 2026-09-06
@@ -1693,7 +1693,7 @@
},
"public_asset": {
"title": "Public Asset Storage",
"desc": "Configure the disk for serving fully public assets (product, category, review, and editor images, etc.) via direct URLs. When disabled, the existing streaming method is used.",
"desc": "Configure the disk for serving fully public assets (product, category, review, and editor images, layout background images, etc.) via direct URLs. When disabled, the existing streaming method is used. Only files uploaded after enabling this get direct URLs, and those addresses stay in the saved layout.",
"disk": "Disk",
"s3_help": "When selecting S3, the S3 URL (CDN domain) in the File Storage card above must be configured. Without it, streaming is used."
},
@@ -1697,7 +1697,7 @@
},
"public_asset": {
"title": "공개 자산 스토리지",
"desc": "완전 공개 자산(상품·카테고리·리뷰·에디터 이미지 등)의 직접 URL 서빙 디스크를 설정합니다. 사용 안 함이면 기존 스트리밍 방식으로 동작합니다.",
"desc": "완전 공개 자산(상품·카테고리·리뷰·에디터 이미지, 레이아웃 배경 이미지 등)의 직접 URL 서빙 디스크를 설정합니다. 사용 안 함이면 기존 스트리밍 방식으로 동작합니다. 켠 뒤 업로드한 파일만 직접 URL 로 발급되며, 그 주소는 저장된 레이아웃에 그대로 남습니다.",
"disk": "디스크",
"s3_help": "S3 선택 시 위 파일 스토리지 카드의 S3 URL(CDN 도메인) 설정이 필요합니다. 미설정 시 스트리밍으로 동작합니다."
},