【发布时间】:2014-05-07 07:45:09
【问题描述】:
上下文:
我尝试让自己熟悉网络技术。 我最近一直在学习套接字,现在将标准提高到 tcp 服务器。
我有两台服务器:一台前端和一台数据库服务器。 前端:nginx 数据库服务器:用于数据库连接的自定义 tcp 服务器。
TLS 加密已激活。
Nginx - Debian 64.
问题:
前端命名为 A,数据库命名为 B。
我想了解如何将 A 作为 ssl 终止点,将请求传递给 B 服务器,最后将查询发送回 A,以便使用 TLS 回答客户端。
据我了解:
1) 客户端请求服务器进行 ssl 握手
2) 服务器接受并根据与之相关的证书执行此操作
3) 客户端进行查询
4) 服务器查看payload并知道它是好的,因为它可能在某处有缓存
5) 但查询必须在 LAN 上代理,以便服务器以明文方式代理请求
6) 另一台服务器将查询和回答返回给前端
7) 前端再次加密整个响应并再次发送给客户端。
7) 是如何发生的?我认为它不能随机重新加密,对吗?它必须在缓存中获取密钥或其他东西,不是吗?
我需要的是对这一点的确认或解释 7)。
【问题讨论】:
-
标题具体有什么问题?数据库服务器返回一个响应,另一件事通过 SSL 将其发送给客户端。标头没有经过特殊处理。都是有效载荷。
-
我不明白有效载荷的事情。我只是无法弄清楚服务器如何能够恢复 ssl 会话。
-
我对这个问题一无所知。再试一次。
-
我按照要求重新表述了我的问题
-
我不明白你所说的“网络服务器如何知道它必须从它拥有的众多负载中选择哪个 ssl 负载”是什么意思。
标签: ssl encryption nginx reverse-proxy