在 WebSocketHandlerRegistration 上使用 setAllowedOrigins 不允许使用 localhost 进行 CORS

在 WebSocketHandlerRegistration 上使用 setAllowedOrigins 不允许使用 localhost 进行 CORS

我已经在 Spring 中设置了一个 websocket 服务器,它使用 WebSocketConfig 如下:

@Configuration
@EnableWebSocket
public class WebSocketConfig implements WebSocketConfigurer {

    @Override
    public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
        registry.addHandler(webSocketHandler(), "/websocket").setAllowedOrigins("*");
    }
    @Bean
    public WebSocketHandler webSocketHandler() {
        return new ServerWebSocketHandler();
    }
}

我的设置需要从网站与服务器建立 websocket 连接。该网站在本地运行(例如 http://localhost:5555),并使用Websocket API。我只有在以下情况下才能建立连接并发送/接收消息setAllowedOrigins("*")。例如,我尝试过:

  • setAllowedOrigins("http://localhost:5555")
  • setAllowedOrigins("http://127.0.0.1")
  • ETC...

但是,仅"*"允许建立连接。如何缩小允许的 CORS 来源范围?

相关内容