【问题标题】:How to redirect https to http without any SSL Certificate如何在没有任何 SSL 证书的情况下将 https 重定向到 http
【发布时间】:2011-09-13 22:53:20
【问题描述】:

很难解释我在这里寻找什么。

我有一个没有 SSL 证书的网站,我正在使用一个页面作为 Facebook 应用程序的登录页面。

我的问题是当有人在 facebook (https://) 上建立安全连接时,iframe src 指向我的登录页面的相同 https URL。这会返回这样的错误。

SSL connection error

Unable to make a secure connection to the server. This may be a problem with the server, or it may be requiring a client authentication certificate that you don't have.

Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.

如何在不安装 SSL 证书的情况下将用户重定向到 http 或任何解决方法?

【问题讨论】:

  • 很遗憾,浏览器必须与服务器建立成功的 HTTPS 连接才能重定向它。

标签: php facebook ssl redirect https


【解决方案1】:

确实没有办法做到这一点:HTTPS 依赖于存在的 SSL 证书以及在任何数据发送到服务器之前发生的 SSL 协商。因此,如果没有 SSL 证书,那么它甚至不会到达您可以发送重定向的地步(正如您所观察到的那样)。

我建议您尽可能购买最便宜的证书:GoDaddy 有特价 12.99 美元,我已经非常有效地为此目的使用了这些证书(Facebook 应用 SSL 页面),您可以在 15 分钟内购买并准备好。

编辑:只需使用Lets Encrypt,正如@xbakesx 在他的评论中所说。完全免费,没有延迟,几乎所有地方都接受。

【讨论】:

  • 我会选择免费的 StartSSL 证书而不是 GoDaddy
  • 您也可以查看letsencrypt.org 以获得免费证书(奖励您可以让它们自动更新)。我不是他们的代表,只是粉丝。
【解决方案2】:

我今天找到了一个很好的解决方案,可以让页面使用 HTTPS 而无需证书。

您可以使用 cloudflare SSL:Flexible。 这样 SSL 将在客户端和 cloudflare 服务器之间,而在 cloudflare 和您的服务器之间将不安全。

此选项仅适用于您没有敏感数据的情况,因为服务器和 cloudflare 之间的连接未加密

看起来是这样的:

在这里查看更多:https://support.cloudflare.com/hc/en-us/articles/200170416-What-do-the-SSL-options-mean-

【讨论】:

  • 你救了我,但是一个非常奇怪的 JS 然后发生 525 重定向,不确定它对 SEO 是否非常好......
【解决方案3】:

作为对 Femi 评论的补充,从 10 月 1 日起,所有 Facebook 应用程序和页面都必须支持 SSL,因此无论如何都必须做好准备。

回复:https://developers.facebook.com/blog/post/499/

【讨论】:

    【解决方案4】:

    如果您无法阻止使用 HTTPS 进行初始连接,那么您(和您的服务器)永远不会参与对话。仅有的两个选项是 1) 获得 SSL 证书(它们很便宜),或 2) 以某种方式通过 HTTP 进行连接。

    【讨论】:

    • 以某种方式通过 HTTP 建立连接,如何?使用 htaccess 或其他方式重定向?
    • @JustinJohn:再次阅读各种答案。根本的问题是,如果没有 SSL 证书,就不可能进行解密,并且没有连接(任何类型的)都不会发生。如果没有该连接,将不会运行任何代码,也不会查看 .htaccess 文件。游戏结束。请参阅 jupaju 对 FB 政策的回答。
    • 那么,请您取消第二个选项。当我看到它时,它让我希望即使在我阅读其他答案之后也可以做点什么。 ;-)
    • 不,它一个选项如果您可以让其他站点合作并重写链接,使其使用HTTP。显然,在 FB 的情况下,这不是一种选择(这是一件好事®),但在更一般的情况下,可能有办法让其他网站合作。
    最近更新 更多