Fall in IT.

Spring 에서 크로스도메인 이슈 CORS로 해결하기 본문

프레임워크/Spring Boot

Spring 에서 크로스도메인 이슈 CORS로 해결하기

D.Y 2016. 7. 28. 22:32

안녕하세요.


오늘은 웹개발시에 빈번하게 발생하는 크로스 도메인 이슈(Cross-origin Http)에 대해서 알아보겠습니다.

또한, 스프링 프레임워크에서 @CrossOrigin 어노테이션을 사용하여 문제를 해결하는 방법에 대해서 알아보겠습니다.



크로스도메인 이슈란?

  • 웹 브라우저에서 Ajax 등을 통해 다른 도메인의 서버에 url(data)를 호출할 경우, 나타나는 보안문제를 말합니다.
    (만약, 내가 만든 웹서비스에서 사용하기 위한 rest api 서버를 다른 도메인에서 접근하여 사용한다면, 보안상 문제가 될 수 있습니다.)

크로스도메인 이슈 해결방법
  • 서버측에서 크로스도메인을 허용하여 문제를 해결하는 방식
  • 클라이언트측에서 크로스도메인을 해결하는 방식 
    (서버측에서 크로스도메인 설정하여 문제를 해결하는 것이 표준화된 방법 입니다.)

CORS란?
  • CORS(Cross-origin resource sharing)이란, 웹 페이지의 제한된 자원을 외부 도메인에서 접근을 허용해주는 메커니즘입니다.

스프링에서 CORS 설정하는 방법
  • 스프링  RESTful Service에서 CORS를 설정은 @CrossOrigin 어노테이션을 사용하여 간단히 해결 할 수 있습니다.
  • RestController를 사용한 클래스 자체에 적용할 수 도 있고, 특정 rest api method에도 설정 가능합니다.
  • 또한, 특정 도메인만 접속을 허용할 수도 있습니다. 
    - @CrossOrigin(origins = "허용주소:포트")


참고자료


Comments