>  기사  >  SSL과 웹소켓을 사용하는 스프링 서버 아키텍처

SSL과 웹소켓을 사용하는 스프링 서버 아키텍처

WBOY
WBOY앞으로
2024-02-09 21:30:101016검색

PHP 편집자 Xinyi가 SSL 및 WebSocket을 사용하는 Spring 서버 아키텍처를 소개합니다. 오늘날의 인터넷 환경에서 보안과 실시간은 서버 애플리케이션에 있어서 중요한 고려 사항입니다. SSL(Secure Sockets Layer)을 사용하면 데이터 전송의 보안이 보장되고 WebSockets 기술은 실시간 양방향 통신 기능을 제공합니다. Spring 프레임워크는 확장 가능한 서버 아키텍처를 구축하기 위한 완전한 솔루션 세트를 제공하는 강력하고 유연한 Java 개발 프레임워크입니다. SSL과 WebSocket을 결합함으로써 Spring 서버 아키텍처는 최신 애플리케이션의 요구 사항을 충족하는 안전하고 안정적인 실시간 통신 서비스를 제공할 수 있습니다.

질문 내용

내가 만든 애플리케이션에 대한 서버 백엔드를 작성했습니다. 애플리케이션은 https 프로토콜을 통해 백엔드에 연결하고 wss 프로토콜을 사용하여 웹소켓도 엽니다. 앱은 http를 통해 요청하고 websocket을 통해 푸시 알림을 받습니다. 내가 추가하고 싶은 한 가지는 내 서버가 수평 확장을 허용하기 위해 haproxy 뒤에 있다는 것입니다. 웹서버에서 제공하는 인증서를 구매했습니다. 자체 서명된 인증서를 사용하고 있지 않습니다.

Websocket의 연결이 계속 끊어집니다. 몇 가지 실험 후에 Spring Boot 서버에서 SSL을 비활성화하면 이 문제가 해결되는 것 같습니다. 내가 이해한 바로는 애플리케이션이 SSL 및 https를 사용하여 백엔드에 연결하는 것이 적극 권장되지만 이 접근 방식은 웹 소켓에서는 작동하지 않는 것 같습니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 이상적으로는 연결 끊김 문제에 대한 해결책이 없는 한 응용 프로그램이 https를 사용하여 요청하고 SSL을 사용하지 않고 웹 소켓 연결을 설정하고 싶습니다. 봄은 괜찮나요?

웹소켓 연결 끊김 문제를 해결할 수 없다면 다음 아이디어는 웹소켓 처리 전용인 또 다른 스프링 부트 서버를 만드는 것입니다. 하지만 단일 서버를 사용하여 https 요청과 웹소켓을 처리할 수 있다면 더 좋을 것입니다. 이 문제를 해결하는 가장 좋은 아키텍처는 무엇입니까?

Solution

드디어 해결책을 찾았습니다. 포트 8080에서 다른 tomcat 커넥터를 실행하고 websocket에 연결할 때 https(wss) 대신 http(ws)를 사용하고 서버 요청을 할 때 https를 사용합니다.

위 내용은 SSL과 웹소켓을 사용하는 스프링 서버 아키텍처의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제