如何知道我的服务器是否使用 SSL(使用 Twisted)
我写了一个简单的客户端和服务器。 它们都可以配置为使用或不使用 SSL。您可以在客户端和服务器中进行设置。 我的问题是,如果我尝试在不使用 SSL 的情况下连接到使用 SSL 设置的服务器,则会建立连接但被卡住。 (当然……这是正常的)。 我的客户端如何知道他正在尝试在不使用 SSL 的情况下连接到使用 SSL 的服务器?反之亦然?
最好的解决方案是我的客户端自动检测服务器是否使用 SSL 并进行正确的连接(TCP 或 SSL)。
提前感谢任何答案=)
I've wrote a simple client and a server.
They both can configured to use SSL or not. You can set it up in the client and in the server.
My problem is, if I try to connect without SSL to a server setup with SSL, the connection is made but stuck. (of course... it is normal).
How my client can know that he is trying to connect without SSL to a server using SSL? and vice versa?
The best solution will be that my client autodetect if server use SSL or not and do the proper connect(TCP or SSL).
Thans in advance for any answer =)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对 SSL 连接使用不同的端口号。这就是 HTTP/HTTPS 的使用方式。
或者
在协议中定义一个命令,根据功能协商将连接转换为 SSL,例如
STARTTLS
。这是在 SMTP 中实现相同目的的一种方法。Use a different port number for SSL connections. This is how HTTP / HTTPS are used.
Or
Define a command in your protocol to transform the connection into SSL e.g.
STARTTLS
, based on a capability negotiation. This is one way the same thing is achieved in SMTP.不可能。 SSL 连接中的第一个事件是来自客户端的消息,而不是来自服务器的消息。
Not possible. The first event in an SSL connection is a message from the client, not from the server.