ionic

๐Ÿณ‍๐ŸŒˆProxy ์„ธํŒ…

frontChoi 2021. 9. 7. 20:12
๋ฐ˜์‘ํ˜•

๐Ÿšค ๊ธฐ์ˆ  ์Šคํƒ : Ionic + Angular

๐Ÿš‘ ํ”„๋ก์‹œ๋ฅผ ์“ฐ๋Š”์ด์œ ?

๋ธŒ๋ผ์šฐ์ €์— SOP์ •์ฑ…์— ๋”ฐ๋ผ ์ถœ์ฒ˜๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅผ ๊ฒฝ์šฐ SOP์ •์ฑ…์— ์œ„๋ฐ˜๋œ๋‹ค. ์ฆ‰ A์‚ฌ์ดํŠธ์—์„œ B์‚ฌ์ดํŠธ์— API๋ฅผ ์š”์ฒญํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” SOP์ •์ฑ…์— ์œ„๋ฐ˜๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿš— Proxy ํ™˜๊ฒฝ์„ธํŒ…

์ผ๋‹จ ๋ฃจํŠธ ํด๋”์— proxy.conf.json ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์•„๋ž˜ ์‚ฌ์ง„์ฒ˜๋Ÿผ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.

proxy.conf.json

๋‹ค์Œ์œผ๋กœ proxy.conf.json์— ์•„๋ž˜ ๋‚ด์šฉ์„ ์ฑ„์›Œ์ค€๋‹ค.

{
    "/api/*": {
      "target": "http://๋ฐฑ์—”๋“œ์ฃผ์†Œ:3000",
      "secure": false,
      "logLevel": "debug",
      "changeOrigin": true
    }
}

 

๐Ÿฌ proxy.conf.json์„ angular.json์— ์—ฐ๊ฒฐ

angular.json์—์„œ ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ž‘์„ฑํ•ด์ค€๋‹ค.

angular.json

์•„๋ž˜๋Š” ๋ณต์‚ฌ๋ฅผ ํ•˜๊ธฐ์œ„ํ•œ ์ฝ”๋“œ์ด๋‹ค.

"serve": {
  "builder": "@angular-devkit/build-angular:dev-server",
  "options": {
    "browserTarget": "app:build",
    "proxyConfig": "proxy.conf.json" // ์—ฌ๊ธฐ์ถ”๊ฐ€
  },
  "configurations": {
    "production": {
      "browserTarget": "app:build:production",
      "proxyConfig": "proxy.conf.json" // ์—ฌ๊ธฐ์ถ”๊ฐ€
    },
    "ci": {
      "progress": false
    }
  }
},

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜๋ฉด ์—ฐ๊ฒฐ์ด ๋˜๋Š”๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋‹ค๋งŒ Android์—์„œ๋Š” ํ™•์ธ์ด ๋˜์ง€ ์•Š์•˜๋‹ค.

๋ฐ˜์‘ํ˜•