【问题标题】:What happens when a server without SSL makes an HTTPS request to a server that does?当没有 SSL 的服务器向有 SSL 的服务器发出 HTTPS 请求时会发生什么?
【发布时间】:2014-11-27 10:02:15
【问题描述】:

在这些情况下,会发生什么?通信是否回退到 HTTP?我假设通信将失败或回退,具体取决于启用 ssl 的目标服务器的设置。

示例案例:

安装在服务器 A 上的插件(可能有也可能没有 SSL)与服务器 B 上通过 HTTPS 运行的 API 通信。

【问题讨论】:

  • 没有 SSL 的服务器无法发出 HTTPS 请求。这没有意义。为什么服务器 A 没有 SSL?
  • 我当然希望它有 SSL!但我正在考虑这个问题并开始怀疑。让我扩展我的示例案例...创建了一个插件,该插件具有一个 PHP 文件,该文件将数据发布到外部 API(其端点是 HTTPS)。该插件安装在任意数量的服务器上——我假设其中一些可能没有 SSL。如果它安装在不支持 SSL 的服务器上,通信就不会发生吗?这是安全的假设,还是服务器 B 有回落到 HTTP 并暴露 POST 数据的风险?
  • 先给我找一个不支持SSL PHP客户端的服务器。然后我们就会知道我们是否真的在谈论任何事情。至于会发生什么,完全取决于服务器 B 的行为方式。如果它的编写或配置太差以至于它允许回退到 HTTP,它将回退。我发现整个场景完全不可能。
  • 感谢您的 cmets EJP。我的假设是可能有不支持 SSL 的服务器。鉴于你的言论,我现在可以假设这种情况不太可能发生。我很感激你的 cmets!

标签: security ssl server


【解决方案1】:

我认为你的问题不够清楚。你的意思是,对于“没有 SSL 的服务器”,

  • 服务器系统没有安装任何类型的 SSL 软件。在这种情况下,服务器当然不能发出任何 SSL 请求。
  • 或者说web服务器本身只能通过HTTP而不是HTTPS,但是上面有一个脚本需要通过HTTPS访问其他主机。在这种情况下,如果在服务器上安装了所需的软件,并且目标主机可以通过 HTTPS 访问,并且没有防火墙阻止连接等,它可以执行这些请求。Web 服务器本身的配置与什么样的请求程序无关在网络服务器上可以做到。

【讨论】:

  • 感谢 Steffen -- 这回答了我的问题。老实说,我真的不知道“没有 SSL 的服务器”会是什么样子——也许它没有安装 openSSL 等,或者它缺少自己的证书,这会阻止它通过 SSL 进行通信。你的要点解决了这两个问题。我熟悉客户端服务器 ssl,但不熟悉服务器服务器,并且想确保我没有做出任何不安全的假设,并且无法找到有关这可能如何发挥作用的详细解释。也感谢您的回复!
  • 没有服务器服务器 SSL。如果您从服务器上的应用程序访问 https 服务器,则此服务器在此连接方面充当客户端。区别通常是,服务器应用程序接受连接(来自客户端),而客户端应用程序创建一个新连接(到服务器)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-06
  • 1970-01-01
  • 2016-10-12
  • 2012-06-25
  • 2016-05-15
  • 1970-01-01
相关资源
最近更新 更多