SSL 重定向 307 概念

SSL 重定向 307 概念

我和一位同事正在尝试解决 HTTPS 重定向问题,我认为多看几眼总没坏处。我们的问题如下:

  • 客户端(192.168.0.1)和主机 1(4.3.2.1)成功协商 SSLv3.0 会话。
  • 客户端(192.168.0.1)尝试将 HTTP 数据发送到 Host1(4.3.2.1),并被重定向(307)到 Host2(4.3.2.2)
  • Host2(4.3.2.2) 从未收到 HTTP 数据

我们对 SSL 的了解相当不错,但真正精通 SSL 的人已经不在了,所以请耐心等待。以下是我们的问题:

  1. 由于我们通过 SSL 进行重定向,Host2(4.3.2.2)证书通用名称是否需要与 Client(192.168.0.1)证书上的通用名称匹配?
  2. 还有哪些问题可能会导致该问题?

答案1

您将重新启动与重定向主机的通信。

如果你这样做:

1)用户A请求https://exampleA.com/redirect

2)https://exampleA.com/redirect307 朝向https://exampleB.com/redirect

3)用户A请求https://exampleB.com/redirect

在 1 中,您需要与 exampleA.com CN 成功进行 SSL 交换,在 3 中,您需要与 exampleB.com CN 成功进行 SSL 交换(如果您转发到 https,如果转发到 HTTP,则不需要它)

另外,请注意 3 不要重定向至 1,否则会造成“大而坏的循环”。

快速提醒:在实际传递虚拟主机数据之前,您需要协商 SSL(除非您使用 SNI,这种情况非常罕见)。因此,如果 A 和 B 位于同一台服务器上,IP 相同,并且都使用 SSL,则可能会出现问题。

相关内容