在具有动态 IP 的第二台服务器上运行应用程序。使用 Apache ProxyPass 时是否需要两个 SSL 证书?

在具有动态 IP 的第二台服务器上运行应用程序。使用 Apache ProxyPass 时是否需要两个 SSL 证书?

条款

example.com:指向 的域static server

static server:该服务器具有静态 IP 地址,并具有指向 的 Apache ProxyPass dynamic server

dynamic server:该服务器位于动态 IP 地址后面并托管application

application:在 上运行的 Web 应用程序dynamic server

介绍

我有一个application将要运行的服务器dynamic server,并且域example.com指向我控制的另一个具有静态 IP 的服务器static server

用户将进入该域example.com,并且该域将访问“静态服务器”。

我已将 Apache ProxyPass 配置为将这些请求发送到我的dynamic server

边注

每当 IP 更改时,都会有一个脚本dynamic server更新 Apache 虚拟主机。(然后,当虚拟主机文件被修改时, 上的另一个脚本将重新启动 Apache。)这些几乎已完成,目前不是问题。static serverstatic server

问题

我是否需要为static server和都安装两个 SSL 证书dynamic server

以下是设置的布局以及我认为它应该工作的方式:

example.com指向static server具有 SSL 证书的 ProxyPass ,然后指向dynamic server具有其自己的 SSL 证书的 ProxyPass 。

是这样吗?还是说我只需要一个 SSL 证书?如果只需要一个,那应该放到哪个服务器上?

答案1

这完全取决于您想通过 TLS 证书实现什么目的。

如果您需要对客户端进行身份验证和加密,那么您将需要拥有 TLS 证书static server

static server如果和之间的连接dynamic server是安全的(例如通过专用网络或 VPN),那么两者之间可能不需要 HTTPS,在这种情况下 HTTP 连接就足够了。

但是,如果是在互联网上,则需要第二个 TLS 证书来dynamic server验证和加密两者之间的流量。如果您static server是唯一的用户,dynamic server那么您可以使用自签名证书,或者运营自己的 CA。

TLS 证书开启static server并不意味着客户端和客户端之间的通信dynamic server通过 HTTPS 进行 - 您仍然需要证书dynamic server才能确保该连接的安全。同样,证书开启dynamic server并不意味着客户端和客户端之间的通信static server通过 HTTPS 进行。它们本质上是两个独立的连接。

相关内容