应用时遇到问题SSL 证书到我们的一个反向代理服务器-”该服务器无法证明它是<服务器名称>“。我想我可能会混淆一些SAN 设置在证书以及服务器主机名、DNS等上。以下是我的环境的一些背景信息。
- 2 个 Linux 服务器正在运行阿帕奇设置为反向代理-proxy1 和 proxy2
- 反向代理位于各种 Azure Web 应用程序的前面
- 1 个 Azure 负载均衡器 (基本层)-proxy1 和 proxy2 是后端池的一部分(proxy2 目前已关闭,直到我让 proxy1 正常工作)
- Linux 代理服务器有 DNS 条目(proxy1.local 和 proxy2.local),但它们未加入域
- 为以下项创建的 DNS 记录Azure LB 资源分配了静态 IP,例如:app-env.local
我使用创建了一个 SSL 证书openssl在代理 1 上并设置CN 到 app-env.local。我还补充道proxy1.local 作为 SAN记录。当我将 .crt 和 .key 文件添加到 Apache 配置时,我收到上述证书警告。
是否SSL 证书上的 CN 必须与服务器的主机名匹配理想情况下,我可以拥有一个 SSL 证书并将其应用于每个代理服务器。我尝试添加作为 SAN 分配给 Azure LB 的 IP也一样,但是没有运气。
如能提供任何帮助或指导以解决此问题,我们将不胜感激!
答案1
我的问题与我环境中的 LB 无关,因为我们没有 SSL 卸载。向每个代理服务器添加单独的证书/密钥,并将 CN 值设置为 FQDN(prox1.local、proxy2.local),并在每个证书上设置相同的 SAN 值(app-env.local),解决了我的问题。