ssl - TLS-通过2个不同的客户端端口连接到服务器端口80

标签 ssl tcp server client tls1.2

我目前正在通过使用openSSL库来处理TLS协议。我有一台服务器,最多监听5个端口,监听端口80。

当我想通过不同的端口从2个不同的应用程序进行连接时,对于第一个连接,TCP握手和TLS握手已成功建立。

但是对于第二个连接,仅建立TCP握手。仅当我关闭第一个连接的套接字时,才会处理TLS握手。

有人对此有经验吗?

谢谢。

最佳答案

有人对此有经验吗?


这看起来像您的应用程序中的问题。我猜它只能同时处理一个客户端,即它是单线程,单进程的,并且不支持基于事件的I / O。假设您不显示任何代码,那么这当然只是一个有根据的猜测,它将解释您看到的行为:

TCP连接由OS内核处理。 TLS握手在应用程序内部处理。使用第一个客户端,TCP(在内核中)和TLS(在应用程序中)握手都将成功。对于第二个客户端,TCP握手也将成功,因为它是在OS内核中处理的。但是,只有在应用程序能够处理TLS握手后,TLS握手才会成功,即与第一个客户端一起完成。

关于ssl - TLS-通过2个不同的客户端端口连接到服务器端口80,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59318210/

相关文章:

php - 使用 Yii 框架注册客户端包时使用 https 而不是 http

python - TCP是否保证按顺序到达?

node.js - 在 Nodejs 中从套接字接收大量二进制数据

php - Laravel 内部服务器 vs XAMPP/WAMP 服务器?

php - php-fpm主进程重启后执行PHP脚本

ssl - nginx - 无法为第二个站点使用(不同的)证书

ruby-on-rails - 在 Ruby on Rails 中使用 https 和 SSL

tcp - 对TCP的基本理解

javascript - 如何部署可扩展的 Parse LiveQuery Server?

java - Android 4.0 中 SSL 客户端身份验证被破坏