ERROR

[ERROR] CORS React (CRA) + JAVA 11

girin_dev 2022. 7. 24. 20:21
728x90
๋ฐ˜์‘ํ˜•

๐Ÿฅ• ์„œ๋ฒ„ ์ชฝ ํฌํŠธ๋Š” 8080 / front ์ชฝ ํฌํŠธ๋Š” 3000์„ ์“ฐ๊ณ  ์žˆ๋‹ค.

 

๐Ÿ˜ข back : springboot java 11

๐Ÿคข front : react node 

 

 

 

 

 

 

8080 ์„œ๋ฒ„๋กœ API ์š”์ฒญ์‹œ ์š”์ฒญ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์˜จ๋‹ค.

 

 

back๋‹จ์˜ response header์— Access-Control-Allow-Origin ์„ค์ •์„ ํ•œ๋‹ค๋ฉด,

๋ชจ๋“  ์š”์ฒญ response์— header๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค. 

 

 

 

 

 

๋กœ์ปฌํ™˜๊ฒฝ์—์„œ๋Š” ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ,

์†Œํ”„ ๋ฐฐํฌ์ดํ›„์—๋Š” nginx ๋‚˜ apache์˜ proxy ์„ค์ •์ด  ํ•„์š”ํ•˜๋‹ค.

 

 


๐Ÿคจ ํด๋ผ์ด์–ธํŠธ์ชฝ์˜ proxy ์„ค์ •์„ ํ†ตํ•ด ํ•ด๊ฒฐ ํ•  ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

1.   ๋ฏธ๋“ค์›จ์–ด ์„ค์น˜๋กœ ์„ค์ • 

 

   $ npm install http-proxy-middleware --save

   $ yarn add http-proxy-middleware

 

 

์„ค์ •์€ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•œ๋‹ค. 

https://create-react-app.dev/docs/proxying-api-requests-in-development/#configuring-the-proxy-manually

 

Proxying API Requests in Development | Create React App

Note: this feature is available with react-scripts@0.2.3 and higher.

create-react-app.dev

 

src/setupProxy.js

 

const { createProxyMiddleware } = require('http-proxy-middleware');

module.exports = function(app) {
    app.use(
        '/walk',
        createProxyMiddleware({
            target: 'http://localhost:8080',
            changeOrigin: true,
        })
    );
};

 

API ์š”์ฒญ ๊ฒฝ๋กœ์— /api ๋ฅผ ์‚ฌ์šฉํ•œ ๋‹ค๋ฉด http://localhost:8080 ํ˜ธ์ŠคํŠธ๋กœ ์š”์ฒญ ์ „๋‹ฌ๋œ๋‹ค.

 

back ๋‹จ์—์„œ ์ธ์ฆํ‚ค๋งŒ ๋„˜์–ด์˜ค๋ฉด home์œผ๋กœ ์ด๋™ํ•˜๋„๋ก ๊ฐ„๋‹จํžˆ ๊ตฌํ˜„ํ•ด๋ณด์•˜๋‹ค.

 

 

    defaultAxios.post("walk/login",
        {
            // email:data.get(`email`),
            email:data.get(`email`),
            password:data.get(`password`)
        },
        {headers: { "Content-Type": `application/json`}})
        .then(response => {
            console.log(response," ํ—ค๋”๊ฐ’ : ",response.headers.authrozation);

            if (response.headers.authrozation !==null) {
                document.location.href = '/home'
            }
        }).catch( err =>{
            console.log("ERROR: ", err)
    });

 

 

 

๋กœ๊ทธ์ธ ์‹œ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

 

 

 

 

 


2. package.json ์„ค์ •.

 

๊ฐ„๋‹จํ•˜๋‹ค๋Š” ์žฅ์ ์ด์žˆ๋‹ค. 

 

** CRA( create-react-app ) ์„ ์ด์šฉํ•œ ๋ฆฌ์•กํŠธ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“  ๊ฒฝ์šฐ + 0.2.3 ๋ฒ„์ „ ์ด์ƒ์ธ ๊ฒฝ์šฐ ์‚ฌ์šฉ

** ํ”„๋ก์‹œ ์„ค์ •์ด ์ „์—ญ์œผ๋กœ ์ ์šฉ๋œ๋‹ค. 

** react dev server ๊ฐ€ response๋ฅผ browser์— ์ „๋‹ฌํ•˜์ง€๋งŒ, websocket ์š”์ฒญ์˜ protocol์ด http๋กœ ๋ฐ”๋€๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

 

package.json
}
   ใƒปใƒปใƒปใƒป
   "proxy": "http://localhost:8080"
}

 

 

 

 

320x100
๋ฐ˜์‘ํ˜•