【问题标题】:http://localhost:port always redirecting to https://localhosthttp://localhost:port 总是重定向到 https://localhost
【发布时间】:2018-01-02 05:43:36
【问题描述】:

我正在用 vs2015 构建一个简单的网站。我选择了 IIS express 作为托管环境。我已经尝试了多个新项目,并且似乎在绕圈子,多次安装和卸载 iis-express 10,并且还添加和删除了 iis 的 windows 功能。当我从 vs2015 启动一个 web 项目时,它曾经打开(没有问题)http://localhost:port(例如http://localhost:51898),但现在不断重定向到https://localhost

知道为什么吗?

【问题讨论】:

  • 在您的解决方案文件夹中,您将找到 .vs 文件夹。尝试删除它并重新运行应用程序。您可能在 .VS 文件夹内的 config 文件夹中存在 applicationhost.config 文件中的一些重定向配置。
  • 试试这个解决方案 - stackoverflow.com/questions/63825407/… 它解决了同样的问题。
  • 试试这个解决方案 - stackoverflow.com/questions/63825407/… 它为我解决了同样的问题。

标签: iis visual-studio-2015 localhost iis-express


【解决方案1】:

在我的情况下,这是我在 IIS 上为我的所有站点通过 https 加载的配置。重写规则也匹配 localhost,因此它重定向到 https。我重写了重定向规则,没问题。

【讨论】:

    【解决方案2】:

    在我的情况下,这是由这段代码引起的:

    services.Configure<MvcOptions>(options =>
    {
        options.Filters.Add(new RequireHttpsAttribute());
    });
    

    无论如何,请仔细检查您的 startup.cs 文件。可能配置有问题

    【讨论】:

      【解决方案3】:

      这不是关于 Visual Studio,而是关于 Chrome。 这个解决方案对我有用:Google Chrome redirecting localhost to https

      【讨论】:

      • 问题不在 https 而是在缺少端口。 IIS可以为localhost提供证书,所以https不成问题
      【解决方案4】:

      重定向只会发生在显式配置和 IIS 或 asp.net 不会自动重定向。

      • 检查以下配置文件并查看任何重定向设置
        • ApplicationHost.Config,所有 web.config 文件 (C:\Windows\System32\inetsrv\config) 搜索 httpRedirect

      例如&lt;httpRedirect enabled="true" destination="https://localhost" /&gt;

      • 检查 urlrewrite 配置。一个典型的规则是这样的。所以你可以搜索 Redirect

                    <action type="Redirect" url="http://www.maindomain.com/{R:1}" />
                </rule>
        
        • 如果您在配置中的任何位置都找不到这些设置,则说明您的应用程序代码正在执行此操作。请检查您的代码

      【讨论】:

      • 在我的情况下,它是发布配置,我想我在调试中启动了我的应用程序,它没有重定向
      猜你喜欢
      • 1970-01-01
      • 2020-12-28
      • 2018-10-01
      • 2018-08-07
      • 2015-10-14
      • 1970-01-01
      • 2016-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多