我们有一个简单的要求,即对 asp.net 4.0 Web 应用程序中的某些特定页面使用 https。为了检查我们的实现,我们将一个简单的 asp.net 4.0 应用程序部署到 IIS 7。该应用程序已被编码为基于 web.config 标志通过 https 将 default.aspx 页面重定向到 securepage.aspx。
protected void Page_Load(object sender, EventArgs e)
{
Uri requestUri = Page.Request.Url;
UriBuilder builder = new UriBuilder("https", requestUri.Host, requestUri.Port, "SecurePage.aspx");
string secureUrl = builder.Uri.ToString();
if (bool.Parse(ConfigurationManager.AppSettings["UseSecure"]))
{
Response.Redirect(secureUrl, true);
}
else
{
Response.Write(secureUrl);
}
}
但是我们在 IIS 7 上部署这个应用程序并加载 default.aspx 页面后,它显示“Internet Explorer 无法显示网页”。但是如果我们关闭配置标志,它会正确显示页面。该应用程序在端口 82 上具有 http 绑定,在端口 444 上具有 https 绑定。
谁能指出我们哪里出错了。