【发布时间】:2012-07-12 02:53:11
【问题描述】:
我读到(安全)Websocket 使用与 HTTP(S) 协议相同的端口。 但是,我的 PHP Websocket 服务器收到来自客户端的加密握手,我正在监听 12345 端口上的打开连接。
我的系统通过非安全 websocket 运行良好,但我需要添加安全功能,但我不明白为什么我会收到这些加密握手。多亏了 OSI 模型,这对我来说是透明的......
如果我配置 apache 来激活 SSL 引擎并监听 12345 端口。我将无法再次为我的 PHP Websocket 服务器使用此端口,因为它将处于“已使用”状态......或者我忘记了一些东西......
我迷路了:(
编辑:
这是我的安全 websocket 标头(使用 wss://):
Request URL:wss://localhost:12345/
这里是我的简单 websocket 标头(使用 ws://):
Request URL:ws://localhost:12345/
Request Method:GET
Status Code:101 Switching Protocols
Request Headersview source
Connection:Upgrade
Host:localhost:12345
Origin:http://localhost
Sec-WebSocket-Extensions:x-webkit-deflate-frame
Sec-WebSocket-Key:wovBDvKiKdy/+0Y2BQPr9w==
Sec-WebSocket-Version:13
Upgrade:websocket
(Key3):00:00:00:00:00:00:00:00
Response Headersview source
Connection:Upgrade
Sec-WebSocket-Accept:1ao7ngQG4LAa3JxFibyvoocbSAM=
Upgrade:websocket
(Challenge Response):00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
为什么我在没有安全连接的情况下获得更多?
【问题讨论】:
-
我已经看过这篇文章了,不,它不是重复的 =)
-
不,它回答了你的问题。如果您的套接字是用
ws://打开的,它将是一个标准套接字。如果是wss://,它将是一个 SSL 套接字。 -
你想用 SSL 运行你的 Websocket 服务器吗?如果不是,这只是使用错误协议的不良客户端的问题。
-
我试图解释的是当我使用
http://然后ws://我的系统工作。但是如果我使用https://那么wss://我会在我的phpwebsocket 服务器上收到加密的握手。
标签: php security websocket handshake