* Gateway - gateway
Azure Active Directory Gateway — -, , Azure Active Directory (Azure AD). , office.com, outlook.com, azure.com xbox.live.com, Azure AD. 53 Azure ~115 . Azure AD .NET Framework 4.6.2. 2020 .NET Core 3.1.
.NET Core
, , , . , . .NET Core , TechEmpower ASP.NET Core - . .NET Core, : .NET Core.
.NET Core ?
, . Azure AD CPU () 50%.
IIS .NET Framework 4.6.2. IIS .NET Core 3.1. , .NET Core 3.1 .NET Framework 4.6.2 ( ).
~40 . ~20 . ( 50%).
.NET Core?
3 .
1:
, , , : .NET Core ?
, TLS. , , TLS .
Kestrel:
( 2019 ), Kestrel , . .NET 5.0 .
.NET 5.0, Kestrel ( SslStream) CTL- . .NET 6.0.
HTTP.sys:
HTTP.sys TLS Http.Sys .NET: , , Client certificate .NET Core TLS.
, null check C# TLS handshake ( TLS):
if (HttpContext.Connection.ClientCertificate != null)
https://github.com/dotnet/aspnetcore/issues/14806 ASP.NET Core 3.1. , 2019 , ASP.NET Core 2.2 .
IIS:
IIS TLS, .
2:
, Azure AD . , Microsoft. .NET Standard 2.0. .NET Standard 2.0 , , Dependency Injection .NET Core . .NET Portability Analyzer.
:
Azure AD IHttpModule IHttpHandler ASP.NET, ASP.NET Core. , ASP.NET Core.
, , Azure Profiler (, Azure). , wrk2 Azure Profiler. , .
3:
, , , .
, DogFood . , .
.NET Core . — .
~100 , 99 .NET Framework 1 .NET Core.
~100 . , , 99 , .
, , 99 , / , .
"" ( .NET Framework build) .NET Core, , .
, , .NET Core, .
Azure, Azure AD. !
ASP.NET Core RFC. , . ASP.NET .NET Framework , :
- ASCII HTTP. Latin1 IISHttpServer: https://github.com/dotnet/aspnetcore/pull/22798
HttpClient
.NET Core ASCII HTTP-.
.NET Core Latin1 .NET Core 3.1: https://github.com/dotnet/corefx/pull/42978
cookies, RFC, . "" , ASP.NET, .
FileBufferingReadStream
‘sCopyToAsync()
- 1- n- . .NET 5.0 4K: https://github.com/dotnet/aspnetcore/issues/24032.
ASP.NET:
(auto-trimmed) :
foo.com/oauth ?client=abc foo.com/oauth?client=abc ASP.NET.
/ , ASP.NET Core .
(auto-trim), ASP.NET.
Content-Type
, :
, Content-Type
, ASP.NET Content-Type:text/html
. ASP.NET Core Content-Type
, , , Content-Type
, . ASP.NET, Content-Type , .
.NET Core , . .NET Core . :
.NET 5.0 .
Kestrel, TLS .
/ YARP (https://microsoft.github.io/reverse-proxy/) .
"Network Engineer". , CCNA.