天天看点

https+403+java_java – HTTPS上的Websockets 403 Forbidden

我目前正在尝试在

spring boot 1.2应用程序中设置HTTPS.此应用程序使用大量websockets在两个服务器之间进行通信.当它在简单的HTTP上运行时一切正常,但是当我将其切换到HTTPS时,我在Firefox和Chrome上都遇到403 Forbidden错误(尚未在IE上测试过.)我有一个SimpleCORSFilter设置,接受所有连接,所以我不要以为那是问题.通过HTTPS对同一服务器的所有RESTful请求都工作,它只是似乎被阻止的websockets.

这是我的WebSocket

Spring配置

@Configuration

@EnableWebSocketMessageBroker

public class WebSocketConfig extends

AbstractWebSocketMessageBrokerConfigurer {

@Override

public void configureMessageBroker(MessageBrokerRegistry config) {

config.enableSimpleBroker("/topic");

config.setApplicationDestinationPrefixes("/app");

}

@Override

public void registerStompEndpoints(StompEndpointRegistry registry) {

registry.addEndpoint("/simulation").withSockJS();

}

}

这是我的前端websocket连接

socket = new SockJS(https://my.url + '/simulation');

stompClient = Stomp.over(socket);

stompClient.debug = false;

stompClient.connect({},function(frame) {

stompClient.subscribe('/topic/',function(status){

// Do something with result

});

});

编辑:这是Chrome控制台中的错误

GET https://localhost:8090/simulation/info 403 (Forbidden)

stomp.js:8 Whoops! Lost connection to undefined

编辑2:此错误似乎是最近从spring boot 1.1升级到spring boot 1.2的副作用.当我确定哪个依赖项导致错误时,我将更新.