์ด๋ค ์๋ฌ?
ํ์ด์ด๋ฒ ์ด์ค ์คํ ๋ฆฌ์ง์ ์ด๋ฏธ์ง ์ ๋ก๋๋ฅผ ๊ตฌํํ๋ ์ค CORS ์๋ฌ๋ฅผ ๋ง๋๊ฒ ๋์๋ค.
Access to XMLHttpRequest at '~~' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
์์ธ ํ์
๊ต์ฐจ ์ถ์ฒ ๋ฆฌ์์ค ๊ณต์ (Cross-origin resource sharing)๊ฐ ํ์ฉ์ด ๋์ด์์ง ์์์ ์๊ธด ์ค๋ฅ!..
CORS ์๋ฌ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ํด๋ผ์ด์ธํธ ์ชฝ์์๋ ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผ ํ์ง๋ง ์๋ฒ ์ชฝ์์๋ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ์ด์ผ ํ๋ค.
์ง๊ธ ๊ฐ์ ๊ฒฝ์ฐ๋ ํ์ด์ด๋ฒ ์ด์ค ์๋ฒ ์ชฝ์์ CORS ์ค์ ์ ํด๋ณด๊ธฐ๋ก ํ๋ค.
ํด๊ฒฐ ๊ณผ์
https://console.cloud.google.com/
๋จผ์ ํด๋ผ์ฐ๋ ์ฝ์์ ๋ค์ด๊ฐ๋ค.
์๋จ์์ ํ์ฌ ํ์ด์ด๋ฒ ์ด์ค ํ๋ก์ ํธ๋ฅผ ์ ํํ ํ์, ๊ฒ์์ฐฝ ๋ฐ๋ก ์ค๋ฅธ์ชฝ์ ํฐ๋ฏธ๋ ํ์ฑํ ๋ฒํผ ํด๋ฆญํ๋ค.
๊ทธ๋ผ ๋ธ๋ผ์ฐ์ ํ๋จ์ ์๋์ ๊ฐ์ ํฐ๋ฏธ๋ ์ฐฝ์ด ์ด๋ฆฌ๋๋ฐ, ํธ์ง๊ธฐ ์ด๊ธฐ๋ฅผ ๋๋ฅด๋ฉด GUI๋ก ํ์ผ์ ์์ฑํ ์ ์๋ค.
์ํ๋ ๋๋ฉ์ธ๋ง ์ถ๊ฐํ๊ณ ์ถ๋ค๋ฉด *
๋์ ์ ๋ฐฐ์ด์๋ค ๋๋ฉ์ธ์ ์ถ๊ฐํด ์ค๋ค. ["https://example.com"\]
[
{
"origin": ["*"],
"method": ["GET"],
"maxAgeSeconds": 3600
}
]
json ํ์ผ๋ก ์ ์ฅ์ ํด์ค๋ค. ํ์ผ๋ช
์ ์์ ์ง๋ง ๋ณดํต cors.json
์ด๋ผ๊ณ ์ ์ฅํ๋ ๋ฏํ๋ค.
๋ค์ ์ฝ์ ํฐ๋ฏธ๋์ ์ด๊ณ , ์๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ์ค๋ค.
gsutil cors set cors.json gs:์คํ ๋ฆฌ์ง์ฃผ์
์ฐธ๊ณ ๋ก ์คํ ๋ฆฌ์ง ์ฃผ์๋ ์คํ ๋ฆฌ์ง์์ ์ฝ๊ฒ ์ฐพ์ ์ ์๋ค.
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด ์ฃผ๋ฉด ์ด๋ฐ ์น์ธ ์ฐฝ์ด ํ๋ ๋ฌ๋ค.
์น์ธํ๋ฉด ํฐ๋ฏธ๋์ ์๋์ ๊ฐ์ ๋ฉ์์ง๊ฐ ๋จ๊ณ CORS ์๋ฌ๊ฐ ์ฌ๋ผ์ง๋ค!
Setting CORS on gs://์คํ ๋ฆฌ์ง์ฃผ์
CORS ์๋ฌ์ ๋ํด ์ ๊น ๊ณต๋ถํ๊ณ ๋๋ ์ ๋ฐ์ํ ๊ฒ์ธ์ง ์ง์์ด ์ข ๊ฐ์ ์ด๋ ต์ง ์๊ฒ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ๋ค. ๐ค
์ฐธ๊ณ ๊ธ
https://stove99.github.io/etc/2021/06/09/firebase-storage-cors-setting/
Comment