相关疑难解决方法(0)

使用Spring引导1.0.0.RC5和tomcat 8.0.3的HTTPS上的Websockets

我有一个使用spring boot 1.0.0.RC5和tomcat 8.0.3的web socket(ws)非安全实现应用程序的工作示例.现在我想切换到wss,即使用我已经由tomcat加载的自签名证书.

这个问题分为理论部分和实践部分两部分:

理论=>我需要在两个端口上监听tomcat吗?即在http和https上.我问这个的原因是因为我读到在网络套接字通信期间,连接的第一部分是通过http进行的,然后所谓的"升级"到websockets.我发布了我的测试示例

GET /hello HTTP/1.1
Host: 127.0.0.5:8080
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en,en-gb;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Sec-WebSocket-Version: 13
Origin: http://localhost:8080
Sec-WebSocket-Key: wIKSOMgaHbEmkaRuEHZ6IA==
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket


HTTP/1.1 101 Switching Protocols
Server: Apache-Coyote/1.1
Upgrade: websocket
Connection: upgrade
Sec-WebSocket-Accept: 8trj6dyzlYdDUA3nAuwiM7SijRM=
Date: Mon, 31 Mar 2014 10:29:19 GMT


..,O.do..*i..nM,..\;..I=.
C!.U.~.U....I....-..Xu.T...H...T.E.d
.'
CONNECTED
heart-beat:0,0
version:1.1

.
.....]..M...F...f9..z?...9..{4..{4..5r...4..h/..{4..|W..
Run Code Online (Sandbox Code Playgroud)

这种沟通在wss上的表现如何?我们是否也有"升级"部分,如果是这样的话,我们需要http才能使该构造工作.

实际=>我面临的问题是,负责创建stomp消息的代码部分不起作用,即当我打开页面时

https://127.0.0.5:8888/wsTest
Run Code Online (Sandbox Code Playgroud)

firefox告诉我"这个连接是不可信的"然后我告诉firefox"我理解风险"并将证书添加为"安全例外".从那时起,证书存储在firefox"servers"选项卡下.一切都好到现在为止.然而,当我改为wss时,这个游戏不起作用,因为我预计它会起作用.即,这是在客户端创建套接字的功能.

     function connect() {
            var …
Run Code Online (Sandbox Code Playgroud)

security spring stomp websocket spring-boot

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

security ×1

spring ×1

spring-boot ×1

stomp ×1

websocket ×1