ERR_TOO_MANY_REDIRECTS 在 Prestashop 上的所有页面中禁用 SSL 时

ERR_TOO_MANY_REDIRECTS when disable SSL in all pages on Prestashop

我在 Prestashop 的所有页面中禁用了 SSL,现在出现此错误(我没有输入 https,但它输入了 https):

我尝试删除 htaccess 并重新生成它,但是没有用。

这是 Prestashop 配置:

解决方案是什么?

编辑:我在 Prestashop 配置选项卡上的 SSL 配置

我不熟悉 Prestashop,但问题是该站点目前强制执行 HTTPS。事实上,non-HTTPS 版本重定向到 HTTPS,可能有其他重定向(现在未启用,因为我可以访问重定向目标)可能导致循环。

➜  ~  curl -I http://runvaspain.com
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Sun, 24 Jan 2016 10:44:09 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Cache-Control: no-cache
Location: https://runvaspain.com/
X-Powered-By: PleskLin
Vary: Accept-Encoding
Strict-Transport-Security: max-age=15768000;includeSubDomains

此外,网站似乎正在设置 HSTS header

Strict-Transport-Security: max-age=15768000;includeSubDomains

这个 header 在通过 HTTP 提供服务时被忽略,但是我想这也是通过 HTTPS 提供的,因此您的浏览器可能已经保存了配置并且它在本地强制执行 HTTPS(假设这就是 HSTS 的目的) ).

您必须在浏览器中手动删除域的严格传输配置。但是,请注意,之前访问过您站点的任何用户都会有这样的设置,因此他们将被迫在主站点 和所有子域 上使用 HTTPS 6 个月(因为这是您之前制定的政策)。

另请注意,由于您之前已发送 header,HTTPS 将对整个站点(以及子域)启用,因此无法在单个页面上启用它(至少对用户而言)谁之前访问过它)。最好的办法是为整个站点再次打开 HTTPS。

要解决第一个问题(重定向到 HTTPS),您应该联系 Prestashop 服务。但是,请注意,如果 HSTS header 之前已发送,则几乎无关紧要。

http 版本的网站 (http://runvaspain.com) 发送 301 重定向到 https 版本。

网站的https版本(https://runvaspain.com)使用HSTSheader,max-age为6个月

这意味着访问该网站的任何人都必须访问 HTTPS 版本

这是 HSTS 添加的安全功能。

你有两个解决方案:

  • 重新激活 https 版本(这是我的建议,因为 https 为您的访问者增加了重要的安全性
  • 将 https 重定向到 http AND 修改 HSTS header(可能在您的 apache 配置中)以发送 max-age 0。您必须至少发送 6 个月,不能删除它! 在 0 上发送 max-age 表明已经访问该网站的访问者忘记了 HSTS 设置。如果您只是删除它,这些访问者将在接下来的六个月内无法访问该网页!

我认为 Chrome 刚刚缓存了 URL。在开发过程中一直发生在我身上。

尝试

  1. 列表项
  2. 单击菜单(右上角Chrome中的三个点或其他图标)
  3. 将鼠标悬停在更多工具上,然后悬停在开发人员工具
  4. 单击网络 选项卡
  5. 单击禁用缓存复选框

在使用 ssl 配置后,在 prestashop 中,管理仪表板工作。但 public 个站点不再有效。因为您必须为首页启用 SSL,使用如下所示的管理仪表板。

  • 启用 SSL - 是
  • 在所有页面上启用 SSL - 是

像这样更改您的商店参数 refer the image