首先,我是 IIS7 新手,所以这可能是显而易见的。
我们有一台新服务器,其 SSL 证书已由我们的托管公司安装,并且可以在服务器节点上的 IIS 管理器中看到。
在我们网站的绑定中,我们已经使用正确的证书设置了端口 443(据我所知)。
问题是,如果您使用 https 通过浏览器连接,您会立即重定向回 http(然后可以正常查看网站)。我们尝试将整个网站置于 SSL 之后,但如果在“SSL 设置”下勾选“需要 SSL”,您的浏览器仍会重定向到 http,然后立即拒绝连接!(这有点道理)
我运行了 IIS SSL 诊断工具(来自关联) 并且一切正常,但我不太确定我在看什么。我只会在收到请求时发布日志,因为日志中充斥着服务器引用,出于安全考虑我必须将其过滤掉。
最后的细节 - 我们正在使用 ASP.Net,并且如果有必要的话,我们正在使用表单身份验证。服务器是 Windows 2008 SP2 64 位。
答案1
在您的 IIS 设置中,根目录中的默认文档是什么?默认文档也可能重定向回 http,请检查索引文件的源代码?也许是在上线前的开发阶段?这个问题一直存在吗?还是最近在添加 SSL 时才出现?
答案2
我建议从远程机器使用 Fiddler(http://www.fiddler2.com/fiddler2/) 并查看正在发生的请求序列。最有可能的是,您的应用程序中的某些内容正在向其返回 301 或 302(重定向)。
另外,在服务器上尝试启用失败请求跟踪,设置状态代码为 100-600,并记录所有内容。然后发出请求,您将在服务器上看到日志文件,这些文件将准确地告诉您发生了什么:http://learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in-iis7/
答案3
事实证明,问题出在我们的 CMS 系统 Sitefinity 上。它有一个名为“使用 SSL”的页面属性,如果未设置(默认),它会明确将安全请求重定向回不安全。要修复此问题,请在 web.config 中更改
<cms defaultProvider="Sitefinity" pageExtension=".aspx" disabled="false" pageEditorUIMode="Overlay" sslRedirection="ToHttpsOnly">
重点是:sslRedirection="ToHttpsOnly"
答案4
如果您尚未删除相关网站上的 http 绑定,则可能需要删除。单击该网站,然后单击屏幕右侧的“绑定”,然后将 https 保留在那里。