[chore] solution/frontend,docs: Bing 소유확인 파일 추가 — 이미지에 구워야 재생성에도 살아남는다

Bing Webmaster 의 XML 파일 방식은 루트에서 파일을 읽는다. nginx `location /` 이
`/srv/app`(= solution-site 이미지)에서 찾으므로 `public/` 에 두고 굽는 것 말고는 자리가 없다.
`docker cp` 로 밀어 넣으면 컨테이너 재생성 때 사라지고, 검색엔진이 인증을 재확인하는
시점에 조용히 풀린다.

- solution/frontend/public/BingSiteAuth.xml: Bing 이 준 파일 그대로(가공하면 파싱이 깨진다)
- docs/DEPLOY.md 2-2절: 세 검색엔진의 소유확인 방식과 사는 자리.
  ★ 확인은 상태코드가 아니라 내용으로 한다 — `try_files … /index.html` 이라
  파일명이 틀리면 404 가 아니라 빌더 HTML 이 200 으로 나간다

검증: 배포 후 curl 로 본문 대조
This commit is contained in:
Mina Choi 2026-09-01 13:33:48 +09:00
parent db58e94540
commit c250b656fd
2 changed files with 27 additions and 0 deletions

View File

@ -146,6 +146,29 @@ docker compose exec solution-worker python scripts/check_search_ready.py https:/
`nginx/site.conf` 에 443 과 인증서 볼륨을 추가한다. Blob 단독으로는 커스텀 도메인 TLS 가
안 되지만 nginx 는 Let's Encrypt 로 끝난다 — CDN 을 억지로 끼울 이유가 없다.
### 2-2단계 — 검색엔진 소유확인
★ **오리진이 하나라 루트에서 한 번만 하면 `/s/<slug>` 전부가 딸려온다.** 사장님이 늘어도
반복하지 않는다 — 오리진을 안 가른 이유가 이거다.
| | 방식 | 어디에 사는가 |
|---|---|---|
| 구글 Search Console | DNS TXT (도메인 속성) | DNS. **이 레포 밖이고 재배포와 무관하다** |
| Bing Webmaster | `BingSiteAuth.xml` | `solution/frontend/public/` → 이미지에 구워진다 |
| 네이버 서치어드바이저 | 메타태그 / HTML 파일 (**DNS TXT 를 안 받는다**) | 아직 안 붙였다 |
★ **파일 방식은 재배포가 필요하다.** `public/` 은 `solution-site` 이미지에 구워지므로
`docker cp` 로 밀어 넣으면 컨테이너 재생성 때 사라진다 — 검색엔진은 인증을 주기적으로
재확인하므로 그때 조용히 풀린다.
★ **확인은 상태코드가 아니라 내용으로 한다.** `location /` 이 `try_files $uri … /index.html`
이라 파일명이 한 글자만 틀려도 404 가 아니라 **빌더 앱 HTML 이 200 으로** 나간다.
검색엔진은 "확인 실패" 만 뱉고 이유를 안 알려준다.
```bash
curl -s https://<도메인>/BingSiteAuth.xml # HTML 이 나오면 파일이 없는 것이다
```
---
## 4. 나중에 — Azure Blob 을 켤 때

View File

@ -0,0 +1,4 @@
<?xml version="1.0"?>
<users>
<user>B2F7F84EB3B85C839F5B1F17DDDA6C2E</user>
</users>