Proxy
1. CORS μ μ±
μ΄ νμν μ΄μ
λΈλΌμ°μ μμλ κΈ°λ³Έμ μΌλ‘ APIλ₯Ό μμ²ν λμ, λΈλΌμ°μ μ νμ¬ μ£Όμμ APIμ μ£Όμμ λλ©μΈμ΄ μΌμΉν΄μΌλ§ λ°μ΄ν°λ₯Ό μ κ·Όν μ μκ² λμ΄ μμ
ꡬμΆν ν΄λΌμ΄μΈνΈ λ€μ μλ²μ μ°κ²°λ DBμλ live dataλ λ―Όκ°μ±μ΄ λμ λ°μ΄ν°λ€μ΄ μμ£Όμ΄κΈ° λλ¬Έμ 보μμ΄ λ¬΄μλ³΄λ€ μ€μ
λ§μ½ μλΉμ€κ° λͺ¨λ μΆμ²μ μ κ·Όμ νλ½νλ€λ©΄ ν΄νΉμ μνμ λ ΈμΆλ μ μκΈ°μ λͺ¨λ λλ©μΈμ νμ©ν΄μλ μ λκ³ , νΉμ λλ©μΈμ νμ©νλλ‘ κ΅¬νν΄μΌ ν¨.
λ°λΌμ νλ‘ νΈμλ κ°λ°μκ° λ°±μλ κ°λ°μμκ² νλ‘ νΈμλ κ°λ° μλ² λλ©μΈμ νμ©ν΄ λ¬λΌκ³ μμ²μ ν΄μΌ νκ³ ,
λ°±μλ κ°λ°μλ μλ΅ ν€λμ νμν κ°λ€μ λ΄μμ μ λ¬μ ν΄μ€μΌ ν¨.
μλ²μμ μ μ ν μλ΅ ν€λλ₯Ό λ°μ§ λͺ»νλ©΄ λΈλΌμ°μ μμ μλ¬κ° λ°μνκΈ° λλ¬Έ
2. Proxy
μμ μ μμ μΈ κ³Όμ μμ΄ React λΌμ΄λΈλ¬λ¦¬, νΉμ Webpack Dev Serverμμ μ 곡νλ proxy κΈ°λ₯μ μ¬μ©νλ©΄ CORS μ μ± μ°ν κ°λ₯
μ¦, λ³λμ μλ΅ ν€λλ₯Ό λ°μ νμ μμ΄ λΈλΌμ°μ λ React μ±μΌλ‘ λ°μ΄ν°λ₯Ό μμ²νκ³ , ν΄λΉ μμ²μ λ°±μλλ‘ μ λ¬νκ² λλ κ².
μ¬κΈ°μ React μ±μ΄ μλ²λ‘λΆν° λ°μ μλ΅ λ°μ΄ν°λ₯Ό λ€μ λΈλΌμ°μ λ‘ μ λ¬νκΈ°μ, λΈλΌμ°μ λ CORS μ μ± μ μλ°νλμ§ λͺ¨λ₯΄κ² λ¨.
μ¦, λΈλΌμ°μ λ₯Ό proxy κΈ°λ₯μ ν΅ν΄ μμ΄λ κ².
3. Proxy μλ νλ¦
proxy μ μ© μ νλ¦

νλ‘ νΈμλμμ κ°λ°ν React μ±μμ λΈλΌμ°μ μͺ½μΌλ‘ μμ²μ 보λ
λΈλΌμ°μ λ λ°±μλ, μ¦ μλ² μͺ½μΌλ‘ 리μμ€λ₯Ό μμ²ν¨. μ΄λ μ κ·Ό κΆνμ΄ μλμ§, μ¦ μΆμ²κ° κ°μμ§ νμΈνλλ° μ΄λ λ°±μλ μλ²λ μ μμ μΌλ‘ 200 OK μλ΅μ λΈλΌμ°μ μκ² λ³΄λ.
λΈλΌμ°μ λ λ°μ 리μμ€ λ° μλ΅κ³Ό ν¨κ» μΆμ²κ° κ°μμ§ μλμ§ νμΈνκ² λλλ°, μ΄λ μΆμ²κ° λ€λ₯΄λ€λ©΄ μλ΅μ νκΈ°(CORS Error) νκ³ , μΆμ²κ° κ°λ€λ©΄ μλ΅μ νκΈ°νμ§ μκ³ λ€μ νλ‘ νΈμλ μͺ½μΌλ‘ μλ΅μ 보λ΄μ£Όλ κ²μ.
proxy μ μ© ν νλ¦

React μ±μμ λΈλΌμ°μ λ₯Ό ν΅ν΄ APIλ₯Ό μμ²ν λ, proxyλ₯Ό ν΅ν΄ λ°±μλ μλ²λ‘ μμ²μ μ°ννμ¬ λ³΄λ
λ°±μλ μλ²λ μλ΅μ React μ±μΌλ‘ 보λ΄κ³ , React μ±μ λ°μ μλ΅μ λ°±μλ μλ² λμ λΈλΌμ°μ μκ² μ λ¬ν¨.
μ΄λ κ² λλ©΄ μΆμ²κ° κ°μμ§κΈ° λλ¬Έμ λΈλΌμ°μ λ μ΄ μ¬μ€μ λμΉμ±μ§ λͺ»νκ³ νμ©νκ² λ©λλ€.
4. Proxy μ¬μ©λ²
webpack dev server proxy
μΉν© κ°λ°μλ²μ proxy μ€μ μ μλ μΉν© μ€μ μ ν΅ν΄μ μ μ©νμ§λ§, CRAλ₯Ό ν΅ν΄ λ§λ 리μ‘νΈ νλ‘μ νΈμμλ package.json μμ "proxy" κ°μ μ€μ νμ¬ μ½κ² μ μ©ν μ μλλ‘ κ΅¬μ±λ¨
κΈ°μ‘΄μ fetch, νΉμ axiosλ₯Ό ν΅ν΄ μμ²νλ λΆλΆμμ λλ©μΈ λΆλΆμ μ κ±°
React Proxy μ¬μ©λ²
webpack dev serverμμ μ 곡νλ proxyλ μ μμ μΈ μ€μ μ΄κΈ°μ, μ’ μ’ ν΄λΉ λ°©λ²μ΄ μΆ©λΆν μ μ©λμ§ μλ κ²½μ°κ° μκΈ°κΈ°λ ν¨.
κ·Έλμ μλμΌλ‘ proxyλ₯Ό μ μ©ν΄μ€μΌ νλ κ²½μ°κ° μλλ°, μ΄λλ http-proxy-middleware λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©
http-proxy-middleware λΌμ΄λΈλ¬λ¦¬ μ€μΉ
React Appμ src νμΌ μμμ setupProxy.js νμΌ μμ± ν, μμμ μ€μΉν λΌμ΄λΈλ¬λ¦¬ νμΌμ λΆλ¬μ¨ λ€μ, μλμ κ°μ΄ μμ±
κΈ°μ‘΄μ fetch, νΉμ axiosλ₯Ό ν΅ν΄ μμ²νλ λΆλΆμμ λλ©μΈ λΆλΆμ μ κ±°
Last updated