首页 > 编程语言 >ASP.NET Core教程-Configuration(配置)- HTTPS

ASP.NET Core教程-Configuration(配置)- HTTPS

时间:2022-11-04 09:22:58浏览次数:47  
标签:Core ASP 配置 中间件 SSL 域名 HTTPS IsHttps

更新记录
转载请注明出处:
2022年11月4日 发布。
2022年11月1日 从笔记迁移到博客。

强制使用HTTPS

在中间件配置中,使用 UseHttpsRedirection 中间件。

app.UseHttpsRedirection();

一般情况下,直接使用该中间件即可,因为该服务默认已经注册。如果要进行自定义配置,在注册服务时,使用对于的配置项即可。

builder.Services.AddHttpsRedirection(options =>
{
    //设置为临时重定向
    options.RedirectStatusCode = StatusCodes.Status307TemporaryRedirect;
    //设置SSL端口
    options.HttpsPort = 443;
});

注意:在注册服务中进行配置后,会覆盖配置文件中的值。

检测当前请求是否使用HTTPS

通过上下文对象 HttpContext 对象中的 Request 对象的 IsHttps属性,可以检测是否HTTPS请求。

public void Test()
{
    bool IsHttps = this.HttpContext.Request.IsHttps;
}

配置SSL端口号

在 appsettings.json 文件中,配置 sslPort 对应的值即可。

"iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:58894",
      //配置SSL端口号
      "sslPort": 44309
    }
  },

在 Visual Studio 中配置是否开启 SSL

image

配置只处理指定域名

在一台 Web 服务器上可以部署多个网站。可以设置当前网站只处理指定的域名。

使用 appsettings.json 配置

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  //指定处理的域名
  "AllowedHosts": "*"
}

设置处理指定的域名

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  //设置只能处理指定的域名
  "AllowedHosts": "www.panda666.com"
}

标签:Core,ASP,配置,中间件,SSL,域名,HTTPS,IsHttps
From: https://www.cnblogs.com/cqpanda/p/16846555.html

相关文章