spring - 如何在 Spring Websocket 的 Spring SockJS 模块中禁用自动添加 CORS header

标签 spring spring-websocket

我在我的项目中使用了 Spring SockJs 来支持一些 websocket。根据文档,spring sockjs 库根据传入请求中的来源添加 CORS header - 除非它检测到 servlet 过滤器或任何机制添加的 header 。 http://docs.spring.io/autorepo/docs/spring-framework/current/spring-framework-reference/html/websocket.html (第 21.3.6 SockJS 的 CORS header )

我不确定自动添加 header 是否是一个好主意,但对于我的用例,我想禁用添加任何 header 。所以我要么显式添加或删除它 -Spring SOCKJS 不应该自动添加它。

有办法做到这一点吗?我探索了 SockJsService API 但无法弄清楚太多 http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/socket/sockjs/support/AbstractSockJsService.html

最佳答案

我认为目前没有明确的途径可以做到这一点。另外,我不明白真正困扰您的是什么:允许其他来源,或者拥有您自己没有的 HTTP 响应 header ?

无论如何,如果想要确保所有 SockJS 传输在所有受支持的客户端上工作,这些 header 都是您可能需要的合理默认值。

由于这可能不是讨论此问题的最佳场所,因此您可以打开一个新的 JIRA issue Spring Framework 项目(模块“Messaging:Websocket”)并解释您的用例/动机。

关于spring - 如何在 Spring Websocket 的 Spring SockJS 模块中禁用自动添加 CORS header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26037250/

相关文章:

spring - 如何使用 HTML5 WebSocket API 创建 Spring WebSocket 应用程序?

java - @NonNullApi 是否涵盖静态方法?

java - WebSocket 通信中消息代理的用途?

java - spring boot web socket 中的实时通知

java - 使用 Spring security Javaconfig 进行基本和基于表单的身份验证

java - Spring Roo应用文件上传路径

java - spring中类的条件初始化

java - 计算通过 JUnit 调用函数的次数

spring-websocket - Spring Boot Websocket with stomp js : I keep getting Whoops! 与 http://localhost:8080/ws 的连接丢失