将http重定向到https的Proplem

本文关键字:Proplem https http 重定向 | 更新日期: 2023-09-27 18:26:39

在ISS 7.5中,我有两个绑定:

    • 类型:http
    • IP:127.0.0.1
    • 端口:80
    • 类型:https
    • IP:127.0.0.1
    • 端口:443

我使用此代码将http重定向到https:(Global.asax.cs文件中的代码)

if (HttpContext.Current.Request.IsSecureConnection.Equals(false))
{
  Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + HttpContext.Current.Request.RawUrl);
}

它工作正常,但在我将IIS中的2个绑定更改为:之后

    • 类型:http
    • IP:127.0.0.1
    • 端口:8101
    • 类型:https
    • IP:127.0.0.1
    • 端口:8102

它不再将HTTP重定向到HTTPS。我认为这段代码无法从8101端口重定向到8102端口,我也不知道如何通过C#获取IIS中HTTPS的端口号。请告诉您如何或是否有不同的重定向解决方案。

将http重定向到https的Proplem

你能像那样简单地以静态方式指定端口吗?

Response.Redirect("https://" + Request.ServerVariables["HTTP_HOST"] + ":8102" + HttpContext.Current.Request.RawUrl);