node.js - 如何使用现有的 TLS 客户端套接字创建 nodejs HTTP 服务器?

标签 node.js ssl tls1.2

我的笔记本电脑上有一个 nodejs TLS 客户端套接字,连接到另一台计算机(服务器)上的 TLS 服务器套接字。服务器无法连接到我的笔记本电脑。笔记本电脑需要启动连接。
现在我希望服务器向我的笔记本电脑发出请求。这个想法是重用 HTTP 协议(protocol)。有没有办法使用现有的 TLS 客户端套接字创建 HTTP 服务器?
这样,服务器机器可以发出一个HTTP请求,客户端TLS接收,HTTP服务器会解析它吗?还是我错过了什么?

最佳答案

在笔记本电脑和服务器之间打开 TCP 套接字后,您可以通过该套接字以任何一种方式发送数据。所以,如果服务器想向笔记本电脑发送一些查询,它就可以这样做。您必须在 TCP 之上发明自己的协议(protocol)才能做到这一点,但如果您愿意,它可以像基于文本/行的协议(protocol)一样简单。
或者,您可以建立一个从笔记本电脑到服务器的 webSocket 或 socket.io 连接(而不是纯 TCP 连接),而不是建立一个普通的 TCP 连接(而不是普通的 TCP 连接),然后任何一方都可以以任何一种方式发送消息,并且协议(protocol)部分已经被占用照顾。如果您使用socket.io,如果连接中断,它也会自动重新连接。
没有简单的方法可以将 HTTP 服务器连接到现有的 TCP 套接字,而且它也会充满困难,因为 HTTP 连接通常不是一个连续的连接,您可以通过它发送许多单独的请求(http 的高级版本可以做到这一点,但是我怀疑你想在两端实现所有这些逻辑)。您可以在现有的 TCP 套接字上使用 HTTP 协议(protocol),但这可能比仅使用上面的 webSocket/socket.io 想法要实现更多的工作。

关于node.js - 如何使用现有的 TLS 客户端套接字创建 nodejs HTTP 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65959578/

相关文章:

node.js - WebStorm 中的 Sails JS 新响应

带有 ssl 的 Python Gevent Pywsgi 服务器

google-chrome - Chrome 接受自签名本地主机证书

c# - 如何将 SslStream/AuthenticateAsServer 与自签名证书/ key 一起使用?

javascript - ejs错误: Could not find matching close tag for "<%-"

node.js - 如何读取 Node 中的单个位缓冲区

node.js - NPM 脚本执行期间加载的单独文件中的变量

PHP-PKPass 不适用于 iOS 7 添加使用 PHP 中的 S/MIME signing-time 属性对通行证进行签名的日期和时间

ssl - 无法通过 CLI 建立 tls1.2 连接

使用 TLS 1.2 的 PHP SOAP 通信