【问题标题】:301 redirect to SSL causing Certificate Warning301 重定向到 SSL 导致证书警告
【发布时间】:2013-09-13 19:12:00
【问题描述】:

我正在尝试消除证书警告。我有以下代码在执行其他任何操作之前执行,并强制用户使用 URL 的 https 版本:

if((!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "") && ($_SERVER['REMOTE_ADDR'] != '127.0.0.1')){
$redirect = "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
header("Location: $redirect");
exit();

}

这会重定向到正确的 URL,但它似乎会留下 SSL 警告:

在控制台中我得到了这个:

https://mysite.com/special-offer/ 的页面显示来自http://mysite.com/special-offer/ 的不安全内容。)

但是,如果我直接访问 url ($redirect),则不会给出 SSL 警告。所有资源都通过 https 提供。

【问题讨论】:

  • 您是否尝试过使用 htaccess 进行重定向?
  • 我已经用 htacess 尝试了各种各样的东西,是的,但我必须承认无法让它们工作。看来我得重温一下了。

标签: php redirect ssl https


【解决方案1】:

这与 PHP 或重定向无关。您的网页引用了 http 资源。当使用 HTTPS 加载此页面时,您会收到警告。

解决方案:查看您的网页并将 URL 更改为“//www.domainname.com”(即无协议说明符)或适当的 HTTPS 地址(如果适用)(某些服务器具有不同的资源路径可通过 HTTP 和通过HTTPS)。

【讨论】:

  • 我在我的页面上看不到任何对 http 的引用,唯一的 'http' 在页脚链接 href 中。
  • @ChrisJAllen "references" 这里不是hrefs(我用错了词)而是img位置,javascript源标签,即加载的内容。请特别注意嵌入到页面中的脚本 - 其中一些脚本在包含具有 http 协议(不是 HTTPS)的文件时可能会导致此问题。我曾经在 Facebook 的按钮上看到过这个故障(他们早就修复了,但效果很糟糕)。
  • @eugene-mayevski-eldos-corp 我不敢苟同。我认为 OP 问题的关键是 https 版本有效,因此您关于引用 http 资源的理论不可能是正确的。在 apache 配置中尝试简单的 301 转发到 https url 文本文件。 Chrome 说只发生了 2 个网络调用,第一个是 301 返回,第二个是对 https url 的调用。直接调用 https url 会生成正确的绿色证书。调用 http 显示上面的 OP 错误。我相信 Chrome 将 301 计为页面的一部分,从而导致协议转换不安全。
  • 然而,这里也没有列出 favicon.ico。 favicon.ico 可能与 http 请求一起被调用,如果没有缓存,则图标将通过 http 请求。我设法重现了这一点。一旦图标被缓存,它就不会被调用,因此生成的转发成功而无需发出第二个 http 请求。
  • @tudor favicon.ico 是浏览器自己请求的,文档中没有引用。
【解决方案2】:

在您发送 301 重定向之前已建立 SSL 连接。因为浏览器不能信任重定向,所以会显示警告。

【讨论】:

  • 如果我走 htacces 路线,并添加 RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 错误仍然存​​在(之后缓存清除等)。
  • @Aragon0 如果我请求 http,那么我应该得到 http,直到收到 301 转发(或对重新搜索页面中包含的其他内容的引用)。如何在 301之前 建立 SSL 连接?您能否在此处详细说明是什么导致您做出此声明?
  • 有两种可能:首先是严格的传输安全。其次,当您访问网站上使用 HTTPS 保护的页面时,对下一个页面的请求显然也是安全的。
猜你喜欢
  • 2011-02-24
  • 2016-02-02
  • 1970-01-01
  • 2013-11-15
  • 2016-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-04
相关资源
最近更新 更多