要将 ASP.NET Core 应用程序重定向到 HTTPS,可以使用中间件来实现。以下是一个示例代码:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// 添加 HTTPS 重定向规则
services.AddHttpsRedirection(options =>
{
// 配置重定向状态码(默认为 307 Temporary Redirect)
options.RedirectStatusCode = StatusCodes.Status308PermanentRedirect;
// 配置 HTTPS 端口(默认为 443)
options.HttpsPort = 443;
});
// 其他服务配置代码
// ...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// 添加 HTTPS 重定向中间件
app.UseHttpsRedirection();
// 其他中间件配置代码
// ...
}
}
在上面的代码中,首先在 ConfigureServices
方法中添加了 HTTPS 重定向规则,可以通过 options.RedirectStatusCode
属性来配置重定向的状态码,以及通过 options.HttpsPort
属性来配置 HTTPS 端口。
然后,在 Configure
方法中使用 app.UseHttpsRedirection()
方法来添加 HTTPS 重定向中间件。这将确保所有的 HTTP 请求都会被重定向到 HTTPS。
请注意,为了使重定向正常工作,应用程序必须在一个已启用 HTTPS 的环境中运行,可以通过在 launchSettings.json
文件中配置 applicationUrl
字段来启用 HTTPS。例如:
"applicationUrl": "https://localhost:5001;http://localhost:5000"
这样,应用程序将同时监听两个端口,一个用于 HTTPS,一个用于 HTTP,并将 HTTP 请求重定向到 HTTPS。
希望这可以帮助到你!