首先,我是一个IIS7新手,所以这可能是明显的。
我们有一个新的服务器,SSL证书已经由我们的托pipe公司安装,并在服务器节点上的IISpipe理器中可见。
在我们网站的绑定中,我们已经用端口443设置了正确的证书(据我所知)。
问题是,如果你通过使用HTTPS的浏览器连接,你会立即redirect到http(然后看到网站正常)。 我们试图把整个网站放在ssl后面,但是如果在“ssl设置”下面勾选“require ssl”,你的浏览器仍然被redirect到http,然后立即得到拒绝的连接! (这是有道理的)
我运行了一个IIS SSL诊断工具(来自http://blogs.msdn.com/b/vijaysk/archive/2009/09/20/ssl-diagnostics-tool-for-iis-7.aspx ),一切都会出现好,但我不确定我在看什么。 我只会在需要的时候发布日志,因为它充斥着服务器引用,为了安全起见,我必须将其过滤掉。
最后的细节 – 我们正在使用ASP.Net,并使用表单身份validation,如果有任何问题。 服务器是Windows 2008 SP2 64位。
在你的IIS设置中,根目录下的默认文档是什么? 也有可能是默认文件有redirect回http检查索引文件的源代码? 也许在开发前的阶段呢? 这个问题总是如此,或者刚刚在添加SSL时浮出水面?
我会build议从远程机器( http://www.fiddler2.com/fiddler2/ )使用Fiddler并查看正在发生的请求的顺序。 最有可能的是你的应用程序正在返回301或302(redirect)。
同样在服务器上,尝试使用状态码100-600设置启用失败请求跟踪并logging所有内容。 然后发出请求,你会看到在服务器上的日志文件,这将告诉你到底发生了什么: http : //learn.iis.net/page.aspx/266/troubleshooting-failed-requests-using-tracing-in -iis7 /
事实certificate,问题是我们的CMS系统,Sitefinity。 它有一个名为“使用SSL”的页面属性,如果没有设置(默认),它会显式redirect安全请求回不安全。 要修复,请在web.config中更改
<cms defaultProvider="Sitefinity" pageExtension=".aspx" disabled="false" pageEditorUIMode="Overlay" sslRedirection="ToHttpsOnly">
重要的是: sslRedirection =“ToHttpsOnly”
如果你还没有这样做的话,你应该去掉相关网站上的http绑定。 点击网站,然后点击屏幕右侧的绑定,然后在那里离开https。