Sign in

1 Introduction


1. Introduction


1 Introduction


1. Overview


1. Overview


1 Overview

  1. HttpsRedirctionMiddleware
  2. HtsMiddleware

2. HttpsRedirectionMiddleware

  • RedirectStatusCode Response 返回的状态码,默认是 307
  • HttpsPort Https 服务选择的端口号
  1. 如果 _config 中制定了 HTTPS_PORT 或者 ANCM_HTTPS_PORT ,则找到端口号
  2. 如果 FeatureCollections 中的 ServerAddressFeature 中有 Https 的端口,则选择这个端口。注意有多个端口,则仍然表示失败
  1. 如果是 https 请求,则继续处理
  2. 如果没有找到 Https 的端口,则继续处理
  3. 将原本的 hostHttpsport 拼接成新的 host (注意,一般默认 https 访问 443 端口,所以无需显示标记
  4. 接下来为 response 修改相应的内容:1) 重定向的地址;2)状态响应码;3)将重定向的地址放在 Header 中;4)完成任务,不执行后续的中间件

3 HstsMiddleware

Strict-Transport-Security: max-age=31536000; includeSubDomains
  • max-age 表明浏览器记住这个站点的时间
  • IncludeSubDomains 指定 subdomain 也同样适用
  1. 如果是非 Https 请求,则继续处理
  2. 如果 Host 在预定义列表中,比如 localhost , 则交给下一个处理
  3. 否则为请求的 Header 中添加 Hsts 记录。

1 Overview

  • Services.AddDistributedMemoryCache() 表 …

1 Overview

  • DefaultFilesMiddleware
  • DirectoryBrowserMiddleware
  • StaticFileMiddleware

1 Overview

  • 构造函数是接受 ILogger<T> 还是 ILoggerFactory 参数?
  • 如何通过 IsEnabled(LogLevel logLevel) 来避免性能损失?

1 Overviews

Feng Gao

A software developer in Microsoft at Suzhou. Most articles spoken language is Chinese. I will try with English when I’m ready

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store