-
[Spring] ์ ์์ ๋ถํ๋ ์์ํฌ์์ CORS ๋ฌธ์ ํด๊ฒฐํ๊ธฐDEV ๐/JAVA Spring 2021. 8. 11. 12:59๋ฐ์ํ
์ ์์ ๋ถํ๋ ์์ํฌ ๊ฐ๋ฐ ์ค ์ธ๋ถ API๋ฅผ ์ฌ์ฉํ๋ค๊ฐ
[ Access to XMLHttpRequest at 'A' from origin 'B' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. ]CORS Error ๋๋ถ์ ๊ณจ๋จธ๋ฆฌ๋ฅผ ์์๋ค..ใ ใ
์ธ๋ถ api ๋ฅผ ์ฌ์ฉํ ๋ ค๋ค๋ณด๋ CORS ํ์ค์์ ๋ฒ์ด๋์ ์๊ธฐ๋ ์๋ฌ์ด๋ค
๊ตฌ๊ธ๋ง์ผ๋ก ์ฐพ์๋ณธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก๋
1 ์๋ฒ๋จ์์ ์ธ๋ถurl ํ์ฉ ์ค์ ํ๋ ๋ฐฉ๋ฒ
2 ๋ฏธ๋ค์จ์ด๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ
3 ํ๋ก์ ์๋ฒ๋ฅผ ์ฐํํ๋ ๋ฐฉ๋ฒ
4 ํฌ๋กฌ์ ํ์ฅํ๋ก๊ทธ๋จ์ ํ์ฉํ๋ ๋ฐฉ๋ฒ
๊ฐ๋ฐ ๋ฐ ํ ์คํธ ์์๋ 4๋ฒ ๋ฐฉ๋ฒ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด์๋ค
๋ด๊ฐ ์ค์นํ ๊ฒ์ 'Muyor'์ด ์ ๊ณตํ๋ 'Allow CORS: Access-Control-Allow-Origin'
๊ทผ๋ฐ ์ด์ ... ๋ฐฐํฌํ๋ ์น์ ๊ฒฝ์ฐ๋ ์ฌ์ฉ์๋ค์๊ฒ '๋ชจ๋ ์ด ํ๋ฌ๊ทธ์ธ ์ค์นํ์ธ์๐' ํ ์๋ ์์ผ๋๊น
์คํ๋ง์์ ๊ฐ๋จํ๊ฒ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๋ค
โ ์ฒซ๋ฒ์งธ๋ WebConfig์ CORS๋ฅผ ์ค์ ํด์ฃผ๋ ๋ฐฉ๋ฒ!
@Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry reg) { reg.addMapping("/**").allowedOrigins("URL"); } }
์ด๋ ๊ฒ ํ๋ฉด CORS ๊ด๋ จํด์ ์ค์ ํ ์ ์๋ค
allowedOrigins("URL"); ์ค์ ์ผ๋ก ํด๋น URL์์ ์ค๋ ์์ฒญ์ ๋ค๋ฅธ Origin์ด๋ผ๋ ํ์ฉํด! ํ๊ณ ์๋ ค์ฃผ๋ ๊ฒ!โ ๋๋ฒ์งธ ๋ฐฉ๋ฒ์ ํ๋ก์๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๊ฒ
@Controller public class CorsMapper { @RequestMapping(value="/proxy.do") @ResponseBody public String proxy() throws Exception { String url = "์ ๊ทผ์ ํ์ฉํ URL"; RestTemplate restTemplate = new RestTemplate(); return restTemplate.getForObject(url, String.class); } }
RestTemplate์ ์ด์ฉํด์ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๊ณ ์๋ต์ ๋ฆฌํดํ๋ค
์ด ๋ฉ์๋๋ฅผ ํ๋ก ํธ๋จ์์<script type="text/javascript"> ... var url = "/proxy.do"; var features = parser.read(vw.GMLParserType.GEOJSON, url, "EPSG:4326"); ... </script>
์ด๋ฐ ์์ผ๋ก ๋ถ๋ฌ์ ์ฌ์ฉํ๋ฉด ํด๊ฒฐ!
๋์ฒ๋ผ ์๋ฒ ์ ํ ์ ์๋ ์ ์๋ ์ํฉ์ด ์๋๋ผ๋ฉด
์ ๋๊ฐ์ง ๋ฐฉ๋ฒ์ด ๊ฐ์ฅ ๊ฐ๋จํ ํด๊ฒฐ์ฑ ์ธ๋ฏํ๋ค๐๋ฐ์ํ'DEV ๐ > JAVA Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ์ดํด๋ฆฝ์ค Maven Repository ๊ฒฝ๋ก ์ค์ (0) 2023.08.21 [JAVA] ์ค์ผ์ค๋ฌ @Scheduled cronํํ์ (0) 2022.06.23 [JAVA] ์ธ์ ์๊ฐ ์ค์ _ SessionTimeOut (0) 2022.03.17 [JAVA] ์ฒจ๋ถํ์ผ ๋ค์ด๋ก๋ ์ ํ๊ธ์ ๋ชฉ ๊นจ์ง ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ (0) 2021.08.27 [Spring] Maven & Gradle (0) 2019.02.04