Chrome 无法连接到 websocket 服务器(操作码 -1)“握手被取消”

Posted

技术标签:

【中文标题】Chrome 无法连接到 websocket 服务器(操作码 -1)“握手被取消”【英文标题】:Chrome failing to connect to websocket server (Opcode -1) "handshake was canceled" 【发布时间】:2015-07-27 22:25:20 【问题描述】:

我有一个使用自签名证书的安全 websocket 服务器,我无法从 chrome (v44.0.2403.107) 客户端连接到该证书。它是我的测试服务器,它使用与我的应用服务器几乎相同的代码创建 - 我可以连接到该服务器。

我试过重启 chrome。我已经尝试重新启动我的虚拟机和我所有的腻子实例。我知道端口是正确的,因为我可以调试到我的服务器中使用该端口的点,我看到它是 8090。我可以在我的客户端做同样的事情:8090。当我在我的回调中设置断点时应该接收 websocket 连接请求的服务器,它永远不会被击中。我的应用服务器中完全相同的断点确实被命中,因此我排除了调试问题。

连接失败时我在控制台中收到的错误是:WebSocket connection to 'wss://localhost:8090/' failed: WebSocket opening handshake was canceled。我还在该连接的网络选项卡中只看到一个帧:(Opcode -1) Length: 40 17:06:08.360,然后我当然会收到一个不包含其他有用信息的 websocket 错误事件。操作码 -1 是什么意思?

这是我从 VM 端的 tcpdump 获得的输出,验证我实际上是从浏览器获取网络流量到我的 VM(我在创建 WebSocket 句柄之前设置了一个断点,并且仅当我按下 go所有这些事情都会发生吗):

[vagrant@localhost temp]$ sudo tcpdump -nnXSs 0 'port 8090'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:57:40.023027 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [S], seq 133632001, win 65535, options [mss 1460], length 0
        0x0000:  4500 002c bd91 0000 4006 a52a 0a00 0202  E..,....@..*....
        0x0010:  0a00 020f d39e 1f9a 07f7 1001 0000 0000  ................
        0x0020:  6002 ffff 74e5 0000 0204 05b4            `...t.......
14:57:40.023066 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [S.], seq 4249375587, ack 133632002, win 14600, options [mss 1460], length 0
        0x0000:  4500 002c 0000 4000 4006 22bc 0a00 020f  E..,..@.@.".....
        0x0010:  0a00 0202 1f9a d39e fd48 5363 07f7 1002  .........HSc....
        0x0020:  6012 3908 eb1f 0000 0204 05b4            `.9.........
14:57:40.023608 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249375588, win 65535, length 0
        0x0000:  4500 0028 bd92 0000 4006 a52d 0a00 0202  E..(....@..-....
        0x0010:  0a00 020f d39e 1f9a 07f7 1002 fd48 5364  .............HSd
        0x0020:  5010 ffff 3be5 0000                      P...;...
14:57:40.023636 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [P.], seq 133632002:133632175, ack 4249375588, win 65535, length 173
        0x0000:  4500 00d5 bd93 0000 4006 a47f 0a00 0202  E.......@.......
        0x0010:  0a00 020f d39e 1f9a 07f7 1002 fd48 5364  .............HSd
        0x0020:  5018 ffff 76a5 0000 1603 0100 a801 0000  P...v...........
        0x0030:  a403 03b3 155b 57a9 66a3 71d9 859a 748d  .....[W.f.q...t.
        0x0040:  55d3 9f95 12c8 69cd bf8b 96f2 dde4 f936  U.....i........6
        0x0050:  32b5 5c00 0022 c02b c02f 009e cc14 cc13  2.\..".+./......
        0x0060:  cc15 c00a c014 0039 c009 c013 0033 009c  .......9.....3..
        0x0070:  0035 002f 000a 00ff 0100 0059 0000 000e  .5./.......Y....
        0x0080:  000c 0000 096c 6f63 616c 686f 7374 0017  .....localhost..
        0x0090:  0000 0023 0000 000d 0016 0014 0601 0603  ...#............
        0x00a0:  0501 0503 0401 0403 0301 0303 0201 0203  ................
        0x00b0:  0005 0005 0100 0000 0033 7400 0000 1200  .........3t.....
        0x00c0:  0075 5000 0000 0b00 0201 0000 0a00 0600  .uP.............
        0x00d0:  0400 1700 18                             .....
14:57:40.023646 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [.], ack 133632175, win 15544, length 0
        0x0000:  4500 0028 dcea 4000 4006 45d5 0a00 020f  E..(..@.@.E.....
        0x0010:  0a00 0202 1f9a d39e fd48 5364 07f7 10af  .........HSd....
        0x0020:  5010 3cb8 fe7f 0000                      P.<.....
14:57:40.025597 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [P.], seq 4249375588:4249376372, ack 133632175, win 15544, length 784
        0x0000:  4500 0338 dceb 4000 4006 42c4 0a00 020f  E..8..@.@.B.....
        0x0010:  0a00 0202 1f9a d39e fd48 5364 07f7 10af  .........HSd....
        0x0020:  5018 3cb8 1b3b 0000 1603 0300 4b02 0000  P.<..;......K...
        0x0030:  4703 03a3 0a5c dd01 39a5 c7e6 33de 6e10  G....\..9...3.n.
        0x0040:  1eb4 d7c3 1127 d7a0 7beb bac2 fbd0 5dc6  .....'.......].
        0x0050:  3c75 3200 009c 0000 1fff 0100 0100 0023  <u2............#
        0x0060:  0000 3374 0012 0868 7474 702f 312e 3108  ..3t...http/1.1.
        0x0070:  6874 7470 2f31 2e30 1603 0302 b20b 0002  http/1.0........
        0x0080:  ae00 02ab 0002 a830 8202 a430 8201 8c02  .......0...0....
        0x0090:  0900 d437 88ae 7bbe 1e4d 300d 0609 2a86  ...7....M0...*.
        0x00a0:  4886 f70d 0101 0505 0030 1431 1230 1006  H........0.1.0..
        0x00b0:  0355 0403 0c09 6c6f 6361 6c68 6f73 7430  .U....localhost0
        0x00c0:  1e17 0d31 3530 3131 3030 3932 3530 315a  ...150110092501Z
        0x00d0:  170d 3235 3031 3037 3039 3235 3031 5a30  ..250107092501Z0
        0x00e0:  1431 1230 1006 0355 0403 0c09 6c6f 6361  .1.0...U....loca
        0x00f0:  6c68 6f73 7430 8201 2230 0d06 092a 8648  lhost0.."0...*.H
        0x0100:  86f7 0d01 0101 0500 0382 010f 0030 8201  .............0..
        0x0110:  0a02 8201 0100 dd4e 94f0 608c 3bc9 d7a7  .......N..`.;...
        0x0120:  cc5b 0135 5630 4b45 5e01 c08f c543 66c1  .[.5V0KE^....Cf.
        0x0130:  d581 dba0 ce59 ccd4 5e63 f4a5 4dab 88cf  .....Y..^c..M...
        0x0140:  fafc ade0 bd7e 640f e690 21f0 2c7e de6a  .....~d...!.,~.j
        0x0150:  5342 990e 3f8e e227 b8e3 f133 b320 f1e1  SB..?..'...3....
        0x0160:  2b1d 7225 7103 ca7f e286 026c 1d2c 5b4f  +.r%q......l.,[O
        0x0170:  71ad 21c5 c10f b686 9c59 873c 89db fe7d  q.!......Y.<...
        0x0180:  1a96 9c65 9fcd db51 87db f7c2 795b e338  ...e...Q....y[.8
        0x0190:  2bc5 2c93 c74d aa79 487d d3b8 5c4e 3919  +.,..M.yH..\N9.
        0x01a0:  a5eb 1665 6778 050c cba8 a770 6324 8f07  ...egx.....pc$..
        0x01b0:  228c 6084 ac91 5d57 9569 b0a1 aaed 62a5  ".`...]W.i....b.
        0x01c0:  6f82 0afd 3d81 0f1b e4c0 55da 674e 8cde  o...=.....U.gN..
        0x01d0:  252b 3b35 2891 6d40 bc23 ac66 8e24 4dda  %+;5(.m@.#.f.$M.
        0x01e0:  fc59 5f1d 0c5f ad21 6c00 6ce5 6ed0 f6f8  .Y_.._.!l.l.n...
        0x01f0:  8752 a2b8 3758 a79c 4898 1cd4 3e51 8e33  .R..7X..H...>Q.3
        0x0200:  5d9b 5142 8ace d055 59da 4447 5cac d464  ].QB...UY.DG\..d
        0x0210:  dd9c 91fb 4499 0203 0100 0130 0d06 092a  ....D......0...*
        0x0220:  8648 86f7 0d01 0105 0500 0382 0101 0054  .H.............T
        0x0230:  e877 2716 fedc c2ac a79e fc8b 765e f38b  .w'.........v^..
        0x0240:  96b2 e52d 60bb 85ec 9ffc 13ba b4a3 2500  ...-`.........%.
        0x0250:  ac52 607b 3ea6 4ce1 693d 200e 7982 a586  .R`>.L.i=..y...
        0x0260:  ed96 ab27 a129 009c d6bc f1f4 34bd 4b22  ...'.)......4.K"
        0x0270:  34ad 093c 9754 a465 2226 3c60 7f34 0f07  4..<.T.e"&<`.4..
        0x0280:  a069 e518 e9e8 3134 4a16 f9d6 0a60 6ed5  .i....14J....`n.
        0x0290:  2f41 3192 f40b ed47 c5a6 4e42 5ef0 22f8  /A1....G..NB^.".
        0x02a0:  b56b 6f59 5ecf 8eff 2da0 01e5 ab3c 8be0  .koY^...-....<..
        0x02b0:  ff5a d9fa 8468 f7ac 776b e387 09ec c965  .Z...h..wk.....e
        0x02c0:  ebee b6bd 5535 c5f0 ce47 1eef ddc4 f298  ....U5...G......
        0x02d0:  933c 9c9f 73dd e2c9 a5c2 d771 1bb9 6d83  .<..s......q..m.
        0x02e0:  8955 8104 46f1 d567 b28b 1694 25ea 4a54  .U..F..g....%.JT
        0x02f0:  df64 0524 7d8e 2c37 5314 b59f f268 ffdd  .d.$.,7S....h..
        0x0300:  c946 444b 6f97 839f 8cfd 6b07 0018 ccbb  .FDKo.....k.....
        0x0310:  f4dc 3261 5367 e322 7f7d 2cb8 dd40 5788  ..2aSg.".,..@W.
        0x0320:  8532 2c45 2465 3daf e32d 49fa 9a98 3e16  .2,E$e=..-I...>.
        0x0330:  0303 0004 0e00 0000                      ........
14:57:40.026734 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249376372, win 65535, length 0
        0x0000:  4500 0028 bd95 0000 4006 a52a 0a00 0202  E..(....@..*....
        0x0010:  0a00 020f d39e 1f9a 07f7 10af fd48 5674  .............HVt
        0x0020:  5010 ffff 3828 0000                      P...8(..
14:57:40.028177 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [P.], seq 133632175:133632558, ack 4249376372, win 65535, length 383
        0x0000:  4500 01a7 bd98 0000 4006 a3a8 0a00 0202  E.......@.......
        0x0010:  0a00 020f d39e 1f9a 07f7 10af fd48 5674  .............HVt
        0x0020:  5018 ffff c6ac 0000 1603 0301 0610 0001  P...............
        0x0030:  0201 009e 4509 3c23 b3ed 5828 9582 0362  ....E.<#..X(...b
        0x0040:  bdd7 046a 0410 38af 711c 8fca 0cfd 36f4  ...j..8.q.....6.
        0x0050:  3da0 c5c7 165a fedb 7f22 4063 2682 989f  =....Z..."@c&...
        0x0060:  1c20 f2ff b768 ee7e a30b 95e5 31d7 fa32  .....h.~....1..2
        0x0070:  58da a10f afe1 4391 c503 d624 3fa8 10e4  X.....C....$?...
        0x0080:  5151 0c15 cfbd 22c7 e7ca df5f ec40 e310  QQ...."...._.@..
        0x0090:  988f f1dc 56ac 6ec2 1edf fe6c eccc 2e70  ....V.n....l...p
        0x00a0:  d9b9 1ed2 a2f3 16c7 9e5a d563 fcf5 678f  .........Z.c..g.
        0x00b0:  9a01 27f5 6bee 356e 7b4d dd71 871e 3f85  ..'.k.5nM.q..?.
        0x00c0:  59d6 c928 7d10 07cb 5997 e56c ba12 6e1b  Y..(...Y..l..n.
        0x00d0:  ae89 02d3 5af8 9480 d6d1 800b 3481 c011  ....Z.......4...
        0x00e0:  b36b f634 00a2 57f2 5d7e 8da7 3ac6 3bbf  .k.4..W.]~..:.;.
        0x00f0:  bc9f 12f9 9c88 8ee6 3dda 1f75 9a1d dd82  ........=..u....
        0x0100:  689b 1291 7d98 d951 f09f ef59 df21 f692  h.....Q...Y.!..
        0x0110:  f708 e488 7228 bfb5 6d4b 75ac 7c1b e3bc  ....r(..mKu.|...
        0x0120:  efe9 54f0 f821 1f2c bb41 3d38 0e4c 5bd1  ..T..!.,.A=8.L[.
        0x0130:  8af7 9214 0303 0001 0116 0303 003c 0000  .............<..
        0x0140:  0000 0000 0000 7539 a08c 45e4 a57d 2f5c  ......u9..E../\
        0x0150:  b4e0 6e98 53f4 8359 528d a430 89f0 2587  ..n.S..YR..0..%.
        0x0160:  4490 9d71 b4f2 6cfb fdc3 40e8 501a cb31  D..q..l...@.P..1
        0x0170:  3cad caf9 926b bd81 55a3 1603 0300 2800  <....k..U.....(.
        0x0180:  0000 0000 0000 019e 8daf 7add 6932 9aeb  ..........z.i2..
        0x0190:  e2ab aa26 27bc a925 43cd bc50 7516 e69d  ...&'..%C..Pu...
        0x01a0:  ea9f 3521 ba4c 34                        ..5!.L4
14:57:40.037113 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [P.], seq 4249376372:4249376614, ack 133632558, win 16616, length 242
        0x0000:  4500 011a dcec 4000 4006 44e1 0a00 020f  E.....@.@.D.....
        0x0010:  0a00 0202 1f9a d39e fd48 5674 07f7 122e  .........HVt....
        0x0020:  5018 40e8 191d 0000 1603 0300 ba04 0000  P.@.............
        0x0030:  b600 0001 2c00 b03e 32e8 5f5d eead 8fd8  ....,..>2._]....
        0x0040:  7d30 19f4 9cee 907f a498 259f fd4c c87a  0........%..L.z
        0x0050:  8e0b 8783 564b 7ce1 de37 b8ac 7bd3 3415  ....VK|..7...4.
        0x0060:  7f69 dece 4b60 a4eb ffcb 8781 1cfa 5930  .i..K`........Y0
        0x0070:  68e0 ab94 674a 5539 25b1 e8de 5a41 c93a  h...gJU9%...ZA.:
        0x0080:  6a3e c1e0 18b0 0e27 9207 6309 194c d7e0  j>.....'..c..L..
        0x0090:  a46b 191b 8a8e e1ec 40b6 2096 4458 f412  .k......@...DX..
        0x00a0:  52ad f44f 9f7c 6338 abea ba96 13e8 9c8c  R..O.|c8........
        0x00b0:  4a53 9c61 409e b121 de4d bafa bf88 f88e  JS.a@..!.M......
        0x00c0:  c7c2 0514 6905 0a5b 1f91 e155 bcae 0b82  ....i..[...U....
        0x00d0:  0d17 9ef7 2c05 a799 7408 51ac 957b f506  ....,...t.Q....
        0x00e0:  50d3 a841 0c9b 0314 0303 0001 0116 0303  P..A............
        0x00f0:  0028 e48b 22a4 e702 10f6 8f82 1c47 97fa  .(.."........G..
        0x0100:  990f 3697 3b44 9de5 9f5e 22f8 05a4 39b3  ..6.;D...^"...9.
        0x0110:  4762 e460 67c0 f142 9ddb                 Gb.`g..B..
14:57:40.037663 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249376614, win 65535, length 0
        0x0000:  4500 0028 bd9d 0000 4006 a522 0a00 0202  E..(....@.."....
        0x0010:  0a00 020f d39e 1f9a 07f7 122e fd48 5766  .............HWf
        0x0020:  5010 ffff 35b7 0000                      P...5...
14:57:40.039110 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [F.], seq 133632558, ack 4249376614, win 65535, length 0
        0x0000:  4500 0028 bd9e 0000 4006 a521 0a00 0202  E..(....@..!....
        0x0010:  0a00 020f d39e 1f9a 07f7 122e fd48 5766  .............HWf
        0x0020:  5011 ffff 35b6 0000                      P...5...
14:57:40.039598 IP 10.0.2.15.8090 > 10.0.2.2.54174: Flags [F.], seq 4249376614, ack 133632559, win 16616, length 0
        0x0000:  4500 0028 dced 4000 4006 45d2 0a00 020f  E..(..@.@.E.....
        0x0010:  0a00 0202 1f9a d39e fd48 5766 07f7 122f  .........HWf.../
        0x0020:  5011 40e8 f4cc 0000                      P.@.....
14:57:40.040616 IP 10.0.2.2.54174 > 10.0.2.15.8090: Flags [.], ack 4249376615, win 65535, length 0
        0x0000:  4500 0028 bda0 0000 4006 a51f 0a00 0202  E..(....@.......
        0x0010:  0a00 020f d39e 1f9a 07f7 122f fd48 5767  .........../.HWg
        0x0020:  5010 ffff 35b5 0000                      P...5...

关于如何进一步调试的任何想法?

更新: 切换回我知道以前有效的代码后,问题仍然存在。所以似乎我可以排除我的代码的问题 - 这是我的机器、网络接口的问题吗?

Update2:即使在我重新启动整个机器后,它仍然仍在发生。现在我有点生气,因为这实际上会阻止我工作。我真的认为重新启动后问题可能会消失(至少一段时间)..

Update3:我创建了一个可以成功连接到websocket服务器的nod​​e客户端。所以这似乎是一个铬问题。它肯定看起来与您在拒绝自签名证书时看到的相似 - 但我对我的测试服务器和应用程序服务器使用相同的证书。一个有效,另一个无效,所以它不可能是证书,对吧?

【问题讨论】:

【参考方案1】:

好吧,我终于找到了一些可行的方法。这个问题对我来说仍然没有意义,但解决方案是以非常具体的方式将证书显式导入其接受列表:

    使用证书打开 https 页面 单击锁定图标并在Connection 下选择Certificate Information 转到Details tab &gt; Copy to File。选择PKCS #7, single certificate作为文件格式并将其保存在某处(名称无关紧要)。 打开Chrome Settings &gt; Show advanced settings &gt; HTTPS/SSL &gt; Manage Certificates。 转到Trusted Certificate Root Authorities 标签 导入您在步骤 3 中“复制到文件”的证书 重启 Chrome(少数需要重启的情况之一)

感谢这里的回答: Getting Chrome to accept self-signed localhost certificate

【讨论】:

有帮助的答案:-) 不幸的是,在某些情况下这似乎不起作用。

以上是关于Chrome 无法连接到 websocket 服务器(操作码 -1)“握手被取消”的主要内容,如果未能解决你的问题,请参考以下文章

连接到 WebSocket 时如何覆盖 Chrome 中的 Origin 标头?

连接到 Websocket 代理时 Google Chrome 出现错误

无法连接到 WebSocket 服务器。不知道为啥

为啥客户端无法连接到 Java Websocket 服务器?

无法连接到 symfony 中的 websocket 服务器

无法使用 Nginx 反向代理连接到 Websocket 服务器