ฉันมีแอป WebSocket ที่พัฒนาขึ้นในกรอบงาน Spring maven ซึ่งทำงานได้ดีมากเมื่อมีการปรับใช้ใน localhost:8080/test โดยที่การทดสอบคือจุดปลายซ็อกเก็ตของฉัน ตอนนี้ฉันปรับใช้แอปในเซิร์ฟเวอร์คลาวด์ AWS ของฉันแล้วและพยายามเชื่อมต่อกับเซิร์ฟเวอร์คลาวด์โดยใช้วิธีการเดียวกัน แต่ใช้ URL เฉพาะ (เช่นhttps://example.com/test ) โดยที่การทดสอบคือปลายทาง WebSocket และ URL( example.com) เป็นลิงก์ของฉันที่คล้ายกับ localhost:8080 ฉันได้เปิดพอร์ตที่จำเป็นสำหรับการเชื่อมต่อที่จำเป็นในกลุ่มความปลอดภัยแล้ว

สำหรับ localhost มันใช้งานได้ดี แต่เมื่อฉันพยายามเชื่อมต่อกับเซิร์ฟเวอร์คลาวด์ของฉัน WebSocket จะส่งกลับมาพร้อมกับฟังก์ชันข้อผิดพลาดสถานะ 400 ฉันไม่แน่ใจว่าทำไมสถานะ 400 ถึงมาเพราะตามสถานะความรู้ของฉัน 400 หมายความว่าเป็น คำขอที่ไม่ดี ฉันทำอะไรผิดเหรอพวก?

ฉันกำลังวางโค้ดจาวาด้านล่าง

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void configureMessageBroker(MessageBrokerRegistry config) {
        config.enableSimpleBroker("/topic");
        config.setApplicationDestinationPrefixes("/ws/");
    }

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/test").setAllowedOrigins("*"); // This will allow you to use ws://localhost:8080/test to establish websocket connection
        registry.addEndpoint("/test").setAllowedOrigins("*").withSockJS(); // This will allow you to use http://localhost:8080/test to establish websocket connection
    }

}

เป็นการกำหนดค่าที่ฉันขาดหายไปหรือข้อมูลโค้ดใด ๆ ที่ฉันหายไป

PS: การทดสอบทั้งหมดของฉันใช้คำขอ POSTMAN Websocket เป็นหลัก และใช่!!! ฉันใช้ wss:// สำหรับ example.com

URL POSTMAN ของฉันมีแนวโน้มที่จะเป็นwss://example.com/test ------> ใช้งานไม่ได้

ws://localhost:8080/test --------> ใช้งานได้

ไม่พบคำตอบ