将http重定向到https的问题

时间:2014-10-16 09:28:41

标签: c# http redirect ssl https

在ISS 7.5中我有2个绑定:

    • 输入:http
    • IP:127.0.0.1
    • 港口:80
    • 键入:https
    • IP:127.0.0.1
    • 港口:443
  1. 我使用此代码将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
    1. 它不再将HTTP重定向到HTTPS。我认为这段代码不能从端口8101重定向到端口8102,我不知道如何通过C#获取IIS的HTTPS端口号。请告诉您如何或者是否有不同的重定向解决方案。

1 个答案:

答案 0 :(得分:1)

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

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