Obecnie próbuję skonfigurować HTTPS w mojej aplikacji rozruchowej wiosna 1.2. Ta aplikacja wykorzystuje wiele stron internetowych do komunikacji między dwoma serwerami. Kiedy działa na prostym protokole HTTP, wszystko działa dobrze, ale kiedy przełączam go na HTTPS, pojawia się błąd 403 Forbidden zarówno w Firefoksie, jak i w Chrome (nie testowałem go na IE.) Mam konfigurację SimpleCORSFilter, która akceptuje wszystkie połączenia, więc nie myśl, że to jest problem. Wszystkie żądania RESTful za pośrednictwem protokołu HTTPS do tego samego serwera działają, jego tylko sieci Web, które wydają się być zablokowane.
Oto moja websocket Wiosna KonfiguracjaWebsockets over HTTPS 403 Forbidden
@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();
}
}
Oto mój przedni Połączenie koniec 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
});
});
EDIT: Jest to błąd w Chrome Console
GET https://localhost:8090/simulation/info 403 (Forbidden)
stomp.js:8 Whoops! Lost connection to undefined
EDIT 2: błąd wydaje się być efektem ubocznym aktualizacji z wiosennego rozruchu 1.1 do rozruchu sprężyny 1.2. Będę aktualizował, gdy wskażę, która z zależności powoduje błąd.
jakiekolwiek zabezpieczenie wiosny? – Bozho
Aplikacja obecnie nie korzysta z zabezpieczeń sprężynowych. –
Zajrzyj tutaj: http://stackoverflow.com/questions/22758360/websockets-over-https-with-spring-boot-1-0-0-rc5-and-tomcat-8-0-3 –