Cloudflare Workers DNS ์ค๋ฅ
ย
Fruitionsite๋ผ๋ ์คํ์์ค๋ฅผ Cloudflare Workers๋ก ๋ฐฐํฌํ์์ผ๋, ์ง๋ Vercel app ๋ฐฐํฌ๋์ ์ค๋ฅ์ฒ๋ผ ํฌ์๋ฉ์ด ์ ์์ ์ผ๋ก ์๋๋ ํ์์ด ์ผ์ด๋ฌ๋ค.
ย
๐คฉ ๋คํํ ์ด๋ฒ์ ์๋ฌ์ฝ๋๋ผ๋ ์ค์ ๋คํ์ด๋ค.
ย
์๋น์ค ์๊ฐ
Fruitionsite๋ ๋ ธ์ ํ์ด์ง ๊ณต์ ์ ํดํท, URL, CSS, JS๋ฅผ ์ปค์คํ ํ์ฌ ์ ์ฉํ ์ ์๋ ์๋น์ค๋ค.
์ฒซ ํ๋ฉด๋ถํฐ ๊ธฐ์กด์ ์ง์ ๋ถํ ๋
ธ์
ํดํท์ด ์ฌ๋ผ์ง ๋ชจ์ต์ ๋ณผ ์ ์๋ค.
ย
์๋น์ค ๋ก์ง
1. Couldflare Workers์์ Notion ํ์ด์ง ์ ๋ณด๋ฅผ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๊ณ , 2. ํ์ด์ง ํ๋จ์ ์ถ๊ฐ HTML์์๋ค์ append ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค.
ย
๊ฐ์ด๋ ๋ฌธ์ ์ ์ฉ
- Flexible SSL ์ ์ฉ
ERROR
- A Record 1.1.1.1(Cloudflare) ์ ์ฉ
ERROR
- CNAME RECORD 1.1.1.1(Cloudflare) ์ ์ฉ
ERROR
- Workers์ ์ ์ ๊ฒฝ๋ก๋ฅผ ์ปค์คํ
๋๋ฉ์ธ์ CNAME ์ ์ฉ(blog.over.ist)
OK
ย
๊ฐ์ด๋๋ฅผ ๋ชจ๋ ๋ฐ๋ผํ๋๋ฐ, Cloudflare Worker ์์ฑ๋ถํฐ ์ค๋ฅ๊ฐ ๋ฌ๋ค.
ย
๋ฌธ์ ํด๊ฒฐ ๊ณผ์
1. Preview) Mismatch between origin and baseUrl (dev)
ย
๋คํํ ์คํ์์ค ์๋น์ค๋ผ์, ์ด์์ Pull Requests๋ฅผ ๋จผ์ ์ฐพ์๋ณด์๊ณ , ์ด๋ฏธ ์๋ฃจ์
๋ค์ด ์กด์ฌํ๋ค.
ย
1๏ธโฃ Workers API์ ํ๋์ฝ๋ฉ๋ URL์ ๊ฒฝ๋ก๊ฐ Preview ์ฑ์ URL๊ณผ ๋ฌ๋ผ์ ๋ฐ์ํ๋ ๊ฒฝ๋ก ๋ฌธ์
Dynamically set domainBaseURL
Updated Mar 22, 2023
ย
2๏ธโฃ ๋
ธ์
์ค์ ์์ ์ ์ ๋ค์์ ๋ฑ๋กํ์ฌ ์๋ธ๋๋ฉ์ธ(username.notion.site)์ ํ ๋น๋ฐ์ ์ ์ ์๊ฒ ๋ฐ์ํ๋ ์ด์.
1. ์ ์ ๋ค์์ด ์๋ ์ ์ ์ ๋
ธ์
ํ์ด์ง๋
notion.so/{pageid}
์์ ํ์ด์ง ๋ด์ฉ์ ํ๋๋ ๊ฐ์ ธ์ค์ง ์๊ณ ,
2. username.notion.site/{pageid}
์ผ๋ก ๋ค์ ์ ์ํด๋ฌ๋ผ๋ implement ํ์ด์ง๋ฅผ ์ถ๋ ฅํ๊ฒ๋๋ค.
3. Frutionsite์์๋ ์ด ๊ฒฝ์ฐ์ ๋ฐ์ดํฐ Fetching ๊ฒฝ๋ก๋ฅผ ์์ ํ๋ ์์ธ์ฒ๋ฆฌ๊ฐ ์กด์ฌํ์ง ์์๋ค.fix : new notion subdomain from www.notion.so/user to user.notion.site
Updated Aug 3, 2021
ย
๐ก ์ ๋จธ์ง ์ํด!!!
ย
2. Cloudflare Error 1034
Cloudflare ๊ณต์ ํธ๋ฌ๋ธ์ํ
๋ฌธ์๋ฅผ ๋ณด๋ฉด, Fruitionsite ๊ฐ์ด๋์ ๋์์๋ 1.1.1.1 ํฌ์๋ฉ์ด ๋ฌธ์ ๋ผ๊ณ ํ๋ค.
์ผ๋ฐ์ ์ธ ์์ธ ์ด์ ์ด์ ์ ๋๋ฉ์ธ์ดย1.1.1.1
์ ๊ฐ๋ฆฌํค๋๋ก ํ๋ ๊ณ ๊ฐ์๊ฒ๋ย 1034 ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๋ ๊ตฌ์ฑ ์ค๋ฅ ๋ฐ/๋๋ ๋จ์ฉ ๊ฐ๋ฅ์ฑ์ ๋ฐฉ์งํ๊ธฐ ์ํ Cloudflare ์์คํ ์ ์๋ก์ด ์์ง ์ ํจ์ฑ ๊ฒ์ฌ ๊ธฐ๋ฅ์ผ๋ก ์ธํ ๊ฒ์ ๋๋ค. ๋ฌธ์ ํด๊ฒฐ DNS ๋ ์ฝ๋๊ฐ ๊ท์ฌ์ ํต์ ํ์ ์๋ IP ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ํ๊ณ , "์๋ณธ ์๋" ์ค์ ์ ์ํด ํ๋ ์ด์คํ๋ IP ์ฃผ์๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ IPv6 ์์ฝ ์ฃผ์ย100::
ย ๋๋ IPv4 ์์ฝ ์ฃผ์ย192.0.2.0
์ ์ด์ฉํ์๊ธฐ ๋ฐ๋๋๋ค.
ย
ํ๊ธ ์๋๋ฒ์ญ์ด ์์๋ฃ๊ธฐ ์ด๋ ค์ด๋ฐ, ์๋ฌธ ์์ด๋ฅผ ํด์ํ๋ฉด
192.0.2.0
์ ๊ณต๊ณต๋ง์์ ์ธ ์ ์๋ originless
์ฃผ์์ธ๋ฐ, A๋ ์ฝ๋๋ก 1.1.1.1์ ์ธ ๊ฑฐ๋ฉด ์ฐจ๋ผ๋ฆฌ ์๋ฌด๊ฒ๋ ์ ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ฅผ ์ฐ๋ผ๊ณ ํ๋ค. ย
Solution : 1.1.1.1 ๋ง๊ณ ๋ค๋ฅธ๊ฑฐ ์จ๋ผ.
ย
Vercel์์๋ ์ปค์คํ
๋๋ฉ์ธ์ ์ค์ ํ ๋, ๋ด ๋๋ฉ์ธ์ A, CNAME ๋ ์ฝ๋์ Vercel์ Gateway ์ฃผ์๋ฅผ ํฌ์๋ฉํด์ฃผ๋ฉด HTTP ํค๋์ Host ์ ๋ณด์ ๋ฐ๋ผ ๊ฐ์ธ ์ฑ์ผ๋ก ๋ผ์ฐํ
์ ํด์คฌ์๋ค. ๋ง์น ์ํ์น ์๋ฒ์ย ๊ฐ์ํธ์คํธ์ฒ๋ผ.
Cloudflare Workers๋ ์๋ ์๋ ๊ทธ๋ฐ ์์ผ๋ก ์ด์ํ์๋ค๊ฐ ๋ฐ๊พผ ๋ฏ ํ๋ค(?)
ย
3. DNS_PROBE_FINISHED_NXDOMAIN
Cloudflare ๋ด๋ถ ์ค์ ์ผ๋ก ์ธํด IP์ ๋ณด ์๋ต์ด ์๋๋ ์ค๋ฅ
Cloudflare with Vercel ํธ๋ฌ๋ธ์ํ
๋ฌธ์์์์ฒ๋ผ, Stricted-Full SSL mode ์ ์ฉํ์ฌ ํด๊ฒฐ.
ย
Enhancement
Try) ๋ฌธ์ ์ A๋ ์ฝ๋(1.1.1.1)๋ฅผ ์์ ์ง์๋ฒ๋ ค๋ ๋๋?
ย
Result) ์ฑ๊ณต์
ย
ย
๋ด ๋คํธ์ํฌ ์์์์๋ CNAME๋ง ๋ฐ์น๋ฉด ๋๋๊ฒ ๋น์ฐํ๊ฑธ ์ด๋ฏธ ์๊ณ ์์๋๋ฐ, ๋ฌด์ง์ฑ์ผ๋ก ๊ณต์ ๊ฐ์ด๋์ค์ ์ ๋๋ฌด ์ ๋ขฐํ๋ค๊ฐ ์ฝ์ง์ ๋ ํ ์ผ์ด์ค์๋ค.
์คํ์์ค๋ ๊ฐ์ด๋, Issue, Pull Requests๋ ๋ฌด์กฐ๊ฑด ํจ๊ป๊ฐ๋ ๋ฌธ์๋ผ๊ณ ๋ด์ผ๊ฒ ๋ค. ๋ฐฐํฌ ํ ์์กด ํ๊ฒฝ์ ๋ณํ์ ๋ฐ๋ผ ์ค๋ฅ๋ ์ฆ๊ณ , ๊ทธ๊ฑธ ํด๊ฒฐํ๋ ค๋ ์ฌ๋๋ค๋ ๋ง๋ค.
ย
์ด ๋ธ๋ก๊ทธ๋ ๋ง๋ค๊ณ ๋๋ ์๊ฐ๋ณด๋ค ๋๋ฌด ๋ณ๋ก์ฌ์ ์์ ๊ธฐ๋ก ํ๋ค.