Java – WebSockets 403 Forbidden on HTTPS

I am currently trying to set up HTTPS in the spring boot 1.2 application This application uses a large number of WebSockets to communicate between two servers When it runs on simple HTTP, everything is normal, but when I switch it to HTTPS, I encounter 403 Forbidden error on Firefox and chrome (not tested on IE yet) I have a simplecorsfilter setting that accepts all connections, so I don't think that's a problem All restful requests to the same server over HTTPS work, and it's just WebSockets that seem to be blocked

@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();
    }
}

This is my front-end websocket connection

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
        });
   });

Editor: This is an error in the chrome console

GET https://localhost:8090/simulation/info 403 (Forbidden)
stomp.js:8 Whoops! Lost connection to undefined

Edit 2: this error appears to be a side effect of the recent upgrade from spring boot 1.1 to spring boot 1.2 When I determine which dependency caused the error, I update it

Solution

Try this:

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

Please note that allowing all sources may impose cross - Site Request Forgery For defense methods, see https://www.owasp.org/index.php/Cross-Site_Request_Forgery_ (CSRF).

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>