我有一个 ASP.NET Core 2.0 MVC 应用程序,它在通过 HTTPS 请求时运行良好。例如。 https://localhost:44331
或 https://example.com
但是,如果您尝试通过 HTTP 访问它,它将因超时而失败。在本地运行和部署到生产服务器 (IIS 8) 时。
我认为我只需要设置 HTTP 到 HTTPS 的重定向,因此将以下代码添加到 Startup.cs
中的 Configure
方法:
RewriteOptions options = new RewriteOptions().AddRedirectToHttps(StatusCodes.Status301MovedPermanently);
app.UseRewriter(options);
但是没有效果。 HTTP 请求仍然超时,而 HTTPS 请求则不会。
最终,我想做的是让用户不必键入 https://example.com
即可访问该站点。相反,我希望用户只需键入 example.com
即可重定向到 https://example.com
。
我已经在这个问题上苦苦思索了将近一天,所以任何建议都将不胜感激。
最佳答案
http 服务器可能没有在监听。 由于您执行了 telnet example.com 80,但它没有连接,这就是您的问题。
关于asp.net-mvc - ASP.NET Core 2.0 : HTTP requests timeout, 但 HTTPS 请求没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51062362/