http重定向到https

时间:2014-06-10 22:35:38

标签: networking ssl sitecore

什么会导致网站尝试转到https网址?

我们设置了sitecore以将非www网址重定向到www预先设置的网址。示例:joesrx.com通过Sitecore URLResolver解析为www.joesrx.com。

我们看到的是,如果您输入joesrx.com,它会在它到达Sitecore服务器之前尝试转到https://joesrx.com。由于此服务器上没有证书且未使用https,因此我们获得了404。

IIS中是否存在配置错误的内容?代理团队表示,它不在他们的设置中,网络团队表示所有DNS条目都是正确的。

3 个答案:

答案 0 :(得分:1)

作为调试这些问题的一般规则,尝试想象您和应用程序之间的所有元素,然后使用简单的分而治之的方法。您还可以测试您与实际应用程序之间路径的各个级别的行为。

例如,在这种情况下(从您到应用程序代码):

  • 用户
  • 浏览器
    • 浏览器可能会对重定向进行缓存。尝试其他浏览器/尝试隐身模式/清除缓存
  • 浏览器扩展程序/设置
    • 任何扩展使得浏览器总是试图通过https访问网站?尝试使用扩展程序禁用/其他浏览器
  • 代理/防火墙
    • 您可能修改请求的任何代理/防火墙?您是否可以尝试绕过任何代理/防火墙访问该站点,可能来自不同的网络连接?
  • 网络
  • Web服务器
  • Web服务器配置/管道/解析器/过滤器/等。
    • .htaccess / IIS config / nginx config / servlet filters /(许多选项取决于您的框架)。检查服务器
  • 实际应用程序代码
    • 嗯..检查代码。

分而治之的例子,选择网络中点:尝试从命令行使用wget / curl访问URL,curl -i还会显示从服务器收到的标头。如果您找到“Location:..”标题,则表明服务器正在发送重定向。所以现在你只需要检查Web服务器/框架配置和实际的应用程序代码。

答案 1 :(得分:0)

我首先要检查一些事情:

  1. 您的web.config中是否有重写规则?它们可能是www上的模式匹配。和重定向以强制执行SSL
  2. 您的管道中是否有代码试图为特定路径强制执行SSL?此处的代码可能无法正确检查URL。
  3. 在IIS中,您是否将“www”主机名绑定到IIS站点?或者它是否会落入另一个强制执行SSL的网站?

答案 2 :(得分:0)

如果其他答案没有帮助,请检查HTST标题,例如" Strict-Transport-Security:max-age = 31536000"。

此HTTP标头告诉浏览器仅将SSL用于将来的请求(等等)。

了解更多信息: https://www.owasp.org/index.php/HTTP_Strict_Transport_Security