2016년 1월 19일 화요일

[WebSocket][403 Forbidden] Whoops! Lost connection to undefined

기본적으로 WebSocket과 SockJS 는 같은 출처의 request 만을 허용하게 되어 있다.
따라서 다른 Host 로부터 request를 요청 받았을 때, 위와 같은 Error가 발생하게 된다.
이 때, Request Origin을 허용하는 범위를 설정할 수 있는데, 그 범위는 아래와 같다.

같은 출처의 host만을 허용 (default): IE6 와 IE7 은 지원하지 않는다.
특정한 출처의 host만을 허용 : 명시한 host는 http:// 혹은 https:// 로 시작하여야 한다.IE6 부터 IE9 은 지원하지 않는다.
모든 출처의 host를 허용: origin 값으로 * 을 설정하였을 때, 모든 접근이 허용된다.

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
    registry.addEndpoint("/hello").setAllowedOrigins("*").withSockJS();
}

original source : http://stackoverflow.com/questions/29677418/websockets-over-https-403-forbidden , http://docs.spring.io/spring/docs/current/spring-framework-reference/html/websocket.html

댓글 없음 :

댓글 쓰기