在 IIS 6 上强制将 HTTP 请求转换为 HTTPS 请求的最佳方法是什么?例如,我有一个目录和一个整个站点,需要在两个不同的服务器上强制使用 HTTPS。实现此目的的最佳或首选方法是什么?这需要将 HTTP 上的请求重定向到 HTTPS。我当时正在考虑类似于 Linux 世界中的 mod_rewrite 的方法。
请注意,我已经安装并运行证书。
答案1
有时我很难理解你到底在问什么,但我认为这就是你想要的:
在 IIS 管理器中右键单击有问题的网站,单击“目录安全”选项卡,单击“安全通信”部分下的“编辑”按钮,选中(启用)“需要安全通道 (SSL)”复选框。
答案2
一种方法是将其包含在您的global.asax.cs中。
protected void Application_BeginRequest(object sender, EventArgs e)
{
if (!Request.IsSecureConnection)
{
Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl);
}
}
看: