Aspnetcore: рдХрдордЬреЛрд░ Http2 рд╕рд┐рдлрд░ рдХреЗ рдХрд╛рд░рдг https рдореЗрдВ рдЕрдкреНрд░рд╛рдкреНрдп рд╣реЛрд╕реНрдЯ рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 31 рдорд╛рд░реНрдЪ 2019  ┬╖  75рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: dotnet/aspnetcore

рдмрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ

HTTP2 рдХреЗ рд▓рд┐рдП рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рдлрд░ рд╕реЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреБрд╢ рдирд╣реАрдВ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)
ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рдмрд░рд╛рдмрд░

рдЦрд░рд╛рдм рд╣рд▓

рдХреЗрд╡рд▓ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП
рдореИрдВ about:config рдореЗрдВ рдЬрд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдФрд░ рдХрдордЬреЛрд░ рд╕рд╛рдЗрдмрд░ рдЬрд╛рдБрдЪ рдХреЛ рдЕрдХреНрд╖рдо рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рднрд╛рд╡ рд╣реИ

рдХреНрдпрд╛ Kestrel IOptions<> рдорд╛рдзреНрдпрдо рд╕реЗ HTTP2 рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ?

рдкреНрд░рдЬрдирди рдХрд░рдирд╛

рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо:

  1. рд╕рднреА рдПрд╕рдбреАрдХреЗ рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж
  2. рдкреНрд░реЛрдЧреНрд░рд╛рдо рдлрд╝рд╛рдЗрд▓реЛрдВ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / appdata / рдЕрд╕реНрдерд╛рдпреА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдлрд╝реЛрд▓реНрдбрд░
  3. https://dot.net рд╕реЗ sdk 2.2.105 рдФрд░ 3.0.0-preview3 рдХрд░реЗрдВ
  4. ASP.NET рдХреЛрд░ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг: рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 3 рдХреЗ рд╕рд╛рде рднреЗрдЬ рджрд┐рдпрд╛ рдЧрдпрд╛
  5. dotnet new webapi -n foo
  6. UseHsts рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ
  7. UseHttpsRedirection() рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ
  8. dotnet run --project foo.csproj
  9. http рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ => рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
  10. https рд╕рдорд╛рдкрди рдмрд┐рдВрджреБ => рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛

рдЕрдкреЗрдХреНрд╖рд┐рддреН рд╡реНрдпрд╡рд╣рд╛рд░

рдореИрдиреЗ рдХреЛрд╢рд┐рд╢ рдХрд┐ :

  • dotnet dev-certs http --clean
  • dotnet dev-certs http --trust
  • .vs/ рд╣рдЯрд╛рдПрдВ
  • launchSettings.json рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП
  • UseHttpsRedirection() рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
  • UseHsts() рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЧрдпрд╛
  • рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЖрдИрдкреА / рдбреАрдПрдирдПрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╕рднреА рдиреЗ рдореБрдЭреЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдерд╛ Vs2019, рдпрд╣ рдПрдХ рд╣реА рдПрд╕рдбреАрдХреЗ (рдпрд╛ рдирд╡реАрдирддрдо win10 рдЗрдирд╕рд╛рдЗрдбрд░ - рдлрд╛рд╕реНрдЯ рд░рд┐рдВрдЧ рдЕрдкрдбреЗрдЯ) рдкрд░ 2 рд╕рдкреНрддрд╛рд╣ рдкрд╣рд▓реЗ рд╡рд░реНрдХрд╕рд╛рдЗрди рдерд╛ред

>dotnet --version
3.0.100-preview3-010431
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.0.0-preview3-19153-02" />
  </ItemGroup>

</Project>
Done area-commandlinetools bug servers-kestrel

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

Https://github.com/aspnet/AspNetCore/issues/8952#issuecomment -482499042 рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

dotnet dev-certs https --clean
dotnet dev-certs https --trust

рд╕рднреА 75 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

OS рдХрд┐рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИ? рд╣рдордиреЗ рдЗрд╕реЗ 2012 / Win8 рдкрд░ рджреЗрдЦрд╛ рд╣реИред

рдЖрдк рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ HTTP / 2 рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#listenoptionsprotocols
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

{
  "Kestrel": {
    "EndPointDefaults": {
      "Protocols": "Http1"
    }
  }
}

рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ:
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#http2 -support

рд╡рд┐рдВрдбреЛрдЬ 10 - рдлрд╛рд╕реНрдЯ рд░рд┐рдВрдЧ рдЗрдирд╕рд╛рдЗрдбрд░
Vs2019 рдХрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди
netcoreapp3.0.0 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди
(рдзрд╛рд░ рд╕рд╛рдорд╛рди рдХрд╛ рдЧреБрдЪреНрдЫрд╛ ^ ^)

рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред рдХреЗ рдмрд╛рдж рд╕реЗ рдПрдХ рдЕрдВрджрд░реВрдиреА рд╕реВрддреНрд░ рдЯрдХреНрдХрд░ + рдирд╡реАрдирддрдо рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рд┐рдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

Win2016 рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП HTTP2 рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХреБрдВрдЬреА рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред
рдЗрд╕рдХрд╛ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝рд╛

рд╡реЗ reg рдХреБрдВрдЬрд┐рдпрд╛рдБ рдХреЗрд╡рд▓ IIS / Http.Sys рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЕрдВрджрд░реВрдиреА рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рд╣реИред @shirhatti

рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ?

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ dotnet tool рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╕рд┐рдлрд░ рдЬрд┐рд╕реЗ рд╡рд░реНрддрдорд╛рди рдорд╢реАрди / рд╕рд░реНрд╡рд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░ рд╕рд┐рдлрд░ рдФрд░ рдЗрддрдиреЗ рдкрд░ рд░рдВрдЧреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдпрд╛ рд╕рд░реНрд╡рд░ рдПрдЧреНрд░реЗрд╕рд┐рд╡ рдФрд░ рдлреЗрд▓рдлрд╛рд╕реНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреВрд▓рд┐рдпрди рдпрджрд┐ рд╕реВрдЪреАрдмрджреНрдз рд╕рд┐рдлрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕рдордп рдкрд░ рдмрд╣реБрдд рдХрдордЬреЛрд░ рд╣реИрдВред

рдпрд╣ "рд╕реНрд╡реАрдХрд╛рд░реНрдп" рдПрдХ рдХреА рд╕реВрдЪреА рдХреЛ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ рдФрд░ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдРрд╕реА рд╕реВрдЪреА рдореМрдЬреВрдж рд╣реИ рдФрд░ рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ

рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдлреА рд╕рдордп рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ

рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛрдЬрд╝ рдмрд┐рд▓реНрдб рдирдВрдмрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?

рдпрджрд┐ рд╣рдо рдЕрдм рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рд╕рднреА rtm win10 рдмрд┐рд▓реНрдб рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЯреВрд▓рд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред

1803 рдЕрдкрдбреЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, IIS рдЖрдкрдХреЛ рдкреНрд░рддрд┐ рдмрдВрдзрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ Http.Sys рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдм рдЖрдкрдХреЛ рд╕рдВрдкреВрд░реНрдг рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП HTTP / 2 рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

image

рдХрд╣рд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╡реИрд╢реНрд╡рд┐рдХ reg рдХреБрдВрдЬреА рдЕрднреА рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдЖрдк рдЕрдкрдирд╛ рд╡рд┐рдВрдбреЛрдЬ рдмрд┐рд▓реНрдб рдирдВрдмрд░ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдЗрд╕реЗ рджреЗрдЦреВрдВрдЧрд╛

@ рд╢рд┐рд░рд╣рдЯреНрдЯреА рд╡реЗ Kestrel рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╡реВрдкреНрд╕ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдВред

рдЕрдЧрд░ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Http2 рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛;)

@Tratcher
рдХреНрдпрд╛ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИ?

> systeminfo
OS Version:                10.0.18362 N/A Build 18362
OS Configuration:          Standalone Workstation

image

> Get-TlsCipherSuite


KeyType               : 0
Certificate           :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange              :
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 4866
CipherSuite           : 4866
Cipher                : AES
Name                  : TLS_AES_256_GCM_SHA384
Protocols             : {772}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange              :
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 4865
CipherSuite           : 4865
Cipher                : AES
Name                  : TLS_AES_128_GCM_SHA256
Protocols             : {772}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange              :
HashLength            : 0
Hash                  :
CipherBlockLength     : 0
CipherLength          : 0
BaseCipherSuite       : 0
CipherSuite           : 0
Cipher                :
Name                  : TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
Protocols             : {}

KeyType               : 0
Certificate           : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 49195
CipherSuite           : 49195
Cipher                : AES
Name                  : TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 49200
CipherSuite           : 49200
Cipher                : AES
Name                  : TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 49199
CipherSuite           : 49199
Cipher                : AES
Name                  : TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 1024
MinimumExchangeLength : 1024
Exchange              : DH
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 159
CipherSuite           : 159
Cipher                : AES
Name                  : TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 1024
MinimumExchangeLength : 1024
Exchange              : DH
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 158
CipherSuite           : 158
Cipher                : AES
Name                  : TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange              :
HashLength            : 0
Hash                  :
CipherBlockLength     : 0
CipherLength          : 0
BaseCipherSuite       : 0
CipherSuite           : 0
Cipher                :
Name                  : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
Protocols             : {}

KeyType               : 0
Certificate           : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 256
Hash                  : SHA256
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 49187
CipherSuite           : 49187
Cipher                : AES
Name                  : TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 384
Hash                  : SHA384
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 49192
CipherSuite           : 49192
Cipher                : AES
Name                  : TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 256
Hash                  : SHA256
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 49191
CipherSuite           : 49191
Cipher                : AES
Name                  : TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 49162
CipherSuite           : 49162
Cipher                : AES
Name                  : TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
Protocols             : {769, 770, 771, 65279...}

KeyType               : 0
Certificate           : ECDSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 49161
CipherSuite           : 49161
Cipher                : AES
Name                  : TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
Protocols             : {769, 770, 771, 65279...}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 49172
CipherSuite           : 49172
Cipher                : AES
Name                  : TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
Protocols             : {769, 770, 771, 65279...}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 65536
MinimumExchangeLength : 0
Exchange              : ECDH
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 49171
CipherSuite           : 49171
Cipher                : AES
Name                  : TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
Protocols             : {769, 770, 771, 65279...}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 157
CipherSuite           : 157
Cipher                : AES
Name                  : TLS_RSA_WITH_AES_256_GCM_SHA384
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 156
CipherSuite           : 156
Cipher                : AES
Name                  : TLS_RSA_WITH_AES_128_GCM_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 256
Hash                  : SHA256
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 61
CipherSuite           : 61
Cipher                : AES
Name                  : TLS_RSA_WITH_AES_256_CBC_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 256
Hash                  : SHA256
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 60
CipherSuite           : 60
Cipher                : AES
Name                  : TLS_RSA_WITH_AES_128_CBC_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 53
CipherSuite           : 53
Cipher                : AES
Name                  : TLS_RSA_WITH_AES_256_CBC_SHA
Protocols             : {769, 770, 771, 65279...}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 47
CipherSuite           : 47
Cipher                : AES
Name                  : TLS_RSA_WITH_AES_128_CBC_SHA
Protocols             : {769, 770, 771, 65279...}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 8
CipherLength          : 168
BaseCipherSuite       : 10
CipherSuite           : 10
Cipher                : 3DES
Name                  : TLS_RSA_WITH_3DES_EDE_CBC_SHA
Protocols             : {769, 770, 771, 768...}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 256
Hash                  : SHA256
CipherBlockLength     : 1
CipherLength          : 0
BaseCipherSuite       : 59
CipherSuite           : 59
Cipher                :
Name                  : TLS_RSA_WITH_NULL_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           : RSA
MaximumExchangeLength : 16384
MinimumExchangeLength : 512
Exchange              : RSA
HashLength            : 160
Hash                  : SHA1
CipherBlockLength     : 1
CipherLength          : 0
BaseCipherSuite       : 2
CipherSuite           : 2
Cipher                :
Name                  : TLS_RSA_WITH_NULL_SHA
Protocols             : {769, 770, 771, 768...}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 0
MinimumExchangeLength : 0
Exchange              :
HashLength            : 0
Hash                  :
CipherBlockLength     : 0
CipherLength          : 0
BaseCipherSuite       : 0
CipherSuite           : 0
Cipher                :
Name                  : TLS_PSK_WITH_AES_256_GCM_SHA384
Protocols             : {}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange              : PSK
HashLength            : 0
Hash                  :
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 168
CipherSuite           : 168
Cipher                : AES
Name                  : TLS_PSK_WITH_AES_128_GCM_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange              : PSK
HashLength            : 384
Hash                  : SHA384
CipherBlockLength     : 16
CipherLength          : 256
BaseCipherSuite       : 175
CipherSuite           : 175
Cipher                : AES
Name                  : TLS_PSK_WITH_AES_256_CBC_SHA384
Protocols             : {771, 65277}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange              : PSK
HashLength            : 256
Hash                  : SHA256
CipherBlockLength     : 16
CipherLength          : 128
BaseCipherSuite       : 174
CipherSuite           : 174
Cipher                : AES
Name                  : TLS_PSK_WITH_AES_128_CBC_SHA256
Protocols             : {771, 65277}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange              : PSK
HashLength            : 384
Hash                  : SHA384
CipherBlockLength     : 1
CipherLength          : 0
BaseCipherSuite       : 177
CipherSuite           : 177
Cipher                :
Name                  : TLS_PSK_WITH_NULL_SHA384
Protocols             : {771, 65277}

KeyType               : 0
Certificate           :
MaximumExchangeLength : 256
MinimumExchangeLength : 0
Exchange              : PSK
HashLength            : 256
Hash                  : SHA256
CipherBlockLength     : 1
CipherLength          : 0
BaseCipherSuite       : 176
CipherSuite           : 176
Cipher                :
Name                  : TLS_PSK_WITH_NULL_SHA256
Protocols             : {771, 65277}

@tebeco рдХреНрдпрд╛ рдЖрдк рд╣рдореЗрдВ

cc @anurse

рдХреНрдпрд╛ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдХреНрдпрд╛ рдЖрдк рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдмрд╣реБрдд рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдбреЗрдЯрд╛ рд▓реАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдореИрдВ рднреА рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рджреЗрдЦрддрд╛ рд╣реВрдВ:

  • рдХреНрд░реЛрдо рдХреЗ рд╕рд╛рде рдореИрдВ Kestrel рд╕реЗ рдмрд╛рд╣рд░ рдХреЛрдИ рд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рд╛:
info: Microsoft.AspNetCore.Server.Kestrel[20]
      Connection id "xxxxxxxxxxxxxxxxxxx" request processing ended abnormally.
System.IO.IOException: The decryption operation failed, see inner exception. ---> System.ComponentModel.Win32Exception: An unknown error occurred while processing the certificate.
   --- End of inner exception stack trace ---
   at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal.AdaptedPipeline.ReadInputAsync(Stream stream)
   at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
   at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
   at System.IO.Pipelines.Pipe.GetReadAsyncResult()
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequestsAsync[TContext](IHttpApplication`1 application)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╛ рддреЛ рдмреБрд░реЗ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирддреЗ рд╣реИрдВ рдЬрдм рд╡рд╛рдпрд░рд╢рд╛рд░реНрдХ (рд▓реВрдкрдмреИрдХ / рд╡рд╛рдИрдлрд╛рдИ / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░рд╢реНрди) ... рдФрд░ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ Opt_out рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

рдореИрдВрдиреЗ рднреА рдЗрд╕ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА: tcp.port == 5043 (рдЬреЛ рдХрд┐ рдХреЗрд╕реНрдЯреНрд░реЗрд▓ рдкреЛрд░реНрдЯ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ)
рдФрд░ рдореБрдЭреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ

рдпрд╣ рднреА рдХрд┐ рдореИрдВрдиреЗ H2 рдХреЛ рд╣рд╛рдБ рдирд╣реАрдВ рдХрд┐рдпрд╛, soooo рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ:

(рдбрдмрд▓ рдЧреЛрд▓ рдореВрд▓реНрдп рдПрдХ рдмреЛрдирд╕ рд╣реИ)

image

@shirhatti

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ Wireshark рдХрдмреНрдЬрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдореИрдВ рдПрдХ рд▓реИрдкрдЯреЙрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдЗрд╕рд▓рд┐рдП Wifi) рдФрд░ kestrel рдХреЗ рд▓рд┐рдП рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдПрдХ рд▓реИрдкрдЯреЙрдк рдкрд░ рдЬреЛ рдЕрдм ~ 6-8 рдиреЗрдЯрд╡рд░реНрдХ рдПрдбрд╛рдкреНрдЯрд░ рд╣реИ

рдПрдХ рд╕рд╛рдл рдФрд░ рдЕрдЪреНрдЫрд╛ рдХрдмреНрдЬрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ?

рдпрд╣ рднреА рдХрд┐ рдХреНрдпрд╛ рдХреИрдкреНрдЪрд░рд┐рдВрдЧ рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЭреЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдП?

рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдореБрджреНрджрд╛: https://github.com/aspnet/AspNetCore/issues/8409

рдореИрдВ рдЗрд╕реЗ 18356.21 рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ # 8409 рдиреЗ рдЗрд╕реЗ 18362.1 рдХреЛ рднреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ IE рдФрд░ рдПрдЬ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рдВрдШрд░реНрд╖ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рд┐рдлрд░ рд╡рд┐рдВрдбреЛрдЬ рдмрдирд╛рдо рдХреНрд░реЛрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

@Tratcher
рдЦреИрд░ рдХреНрд░реЛрдо рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕
рдпрд╣ рдереЛрдбрд╝рд╛ рдмреБрд░рд╛ рд╣реИ

рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ [рджреЗрд╡] рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрд╡рдпрдВ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕рд┐рдлрд░ рд╕реВрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред рдпрд╛рдиреА рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдЪреБрдирд╛рд╡ рдЖрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрд╛рддрдЪреАрдд рд╕рдВрдЧрдд рд╕рд┐рдлрд░ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ рдФрд░ рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рд╡рд╣ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИ рдЬреЛ HTTP / 2 рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред

@ рдереНрд░реИрдЪрд░ рдХреА рдЯрд┐рдкреНрдкрдгреА рджреВрд╕рд░реЗ рд╕реВрддреНрд░ рд╕реЗ

рдореИрдВ рддреБрдореНрд╣рд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ ?

@tebeco рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рдмрд╣реБрдд рдХреБрдЫ рд╣реИ, рдзрдиреНрдпрд╡рд╛рджред

рдкреНрд░реАрд╡реНрдпреВ 5 рдореЗрдВ рд▓рд╛рдирд╛ред

рдпрджрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрд╛ рдХрд╛рдо Vs.net рдФрд░ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рджреЗрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд┐рдВрдбреЛрдЬрд╝ рдЗрдирд╕рд╛рдЗрдбрд░ рд░рд┐рд▓реАрдЬ рдкрд░ рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдм рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рддреА рд╣реИред

рдПрдХ рдФрд░ рдбрд╛рдЯрдкреЙрдЗрдВрдЯ: рд╣рдордиреЗ Kestrel рдореЗрдВ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рднреА рдХрд╛рдо рдХрд┐рдпрд╛, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрд╕реНрдкреЗрдиреЗрдЯрдХреЛрд░ рджреЗрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

@ рдЯреНрд░реЗрдЪрд░ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо рд╣реИрдВ? рдЕрднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдореАрдард╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реЛрдЧрд╛ред рдЦреБрд╢реА рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛!

@anurse рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдирдореВрдиреЗ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╣рд╛рдВред рд╣рдо 3.0 рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рджреЗрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рд╕реАрдзреЗ Kestrel рд╕реЗ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рд╡рд╣рд╛рдВ рдмрддрд╛рдИ рдЧрдИ рд╣реИ), рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реАрдПрд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ)ред рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрд╛

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпреВрдЬрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЕрдкрдирд╛ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдвреВрдВрдврдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдердВрдмрдкреНрд░рд┐рдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред Followng PowerShell рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд╛рд▓ рдХрд░реЗрдЧрд╛:

dir Cert:\CurrentUser\Root\ | Where { $_.FriendlyName -like "IIS Express*" } | Select Thumbprint

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдердВрдмрдкреНрд░рд┐рдВрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЙрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рд╕реНрдЯреЛрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП Program.cs рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ Kestrel рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();

                // Add this section below
                webBuilder.ConfigureKestrel(options =>
                {
                    options.ConfigureHttpsDefaults(ssl =>
                    {
                        // Open the Current User's Trusted Root Certificate store
                        var store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
                        store.Open(OpenFlags.ReadOnly);

                        // Find the IIS Express Certificate
                        var cert = store.Certificates.Find(X509FindType.FindByThumbprint, "<<put the hex thumbprint value in here>>", validOnly: false);
                        ssl.ServerCertificate = cert.Cast<X509Certificate2>().First();
                    });
                });
            });
}

@anurse рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдзрдиреНрдпрд╡рд╛рдж!

рд╣рдореЗрдВ рдЕрдкрдиреЗ рджреЗрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред @javiercn рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ? Win 10 18356 рдореЗрдВ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рджреЗрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░рд╛ рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рдорд╛рди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред

рдпрд╣ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 5 рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рджреЗрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ 10 19 рдПрдЪ 1 рдкрд░ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИред

cc @mkArtakMSFT

@anurse рдореБрджреНрджреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред @Blowdart рдХреЛ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рд╕рд┐рд░реНрдл рдПрдХ рдФрд░ рдЖрдзреБрдирд┐рдХ рдХреБрдВрдЬреА рдХреА рдХреБрдВрдЬреА рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рдареАрдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред (рдлрд┐рд░ рд╕реЗ, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ)ред

рдпрд╣реА рдореЗрд░реА рд╕рдордЭ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд╣реА рд╣реИ , рд╣рдореЗрдВ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрд▓рдЧ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рднреА рд▓рд╛рдЧреВ рдХрд░реЗрдВ :)ред

@ рд╢рд┐рд░рд╣рдЯреНрдЯреА рдХреНрдпрд╛ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реЛрдЧрд╛ рдХрд┐ IIS рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдореЗрдВ рдХреНрдпрд╛ рдмрджрд▓рд╛рд╡ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдЕрдЧрд░ рд╣рдо рдЕрднреА рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡реЛрдВ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдбрд┐рдЯреЗрд▓реНрд╕ рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рд╡рд┐рд╡рд░рдгреЛрдВ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ :)

рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬрд╝ 10 рдорд╢реАрди рдмрдирд╛рдХрд░ рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реА рд╣реИ, рдЗрд╕реЗ рдирд╡реАрдирддрдорддрдо рдЕрдВрджрд░реВрдиреА рд╕реВрддреНрд░ рдмрдирд╛рдиреЗ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рддрд╛рдХрд┐ IIS рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ)ред

рдореИрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкрд░ рдХреБрдЫ рднреА рджреЗрдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реВрдВред рдХреНрдпрд╛ рдХреЛрдИ "рд╡рд░реНрдХрд┐рдВрдЧ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ" рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдореИрдВ рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХреВрдВ? рдореБрдЭреЗ рдХреЗрд╡рд▓ рдЬрдирддрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

Certs.zip

рдпрд╣рд╛рдБ рджреЛрдиреЛрдВ рд╣реИ рдЗрд╕рд▓рд┐рдП рдЖрдк рддреБрд▓рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ ASP.NET рдХреЛрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрдЯреЛрд░ рдореЗрдВ рд╣реИ рдФрд░ IIS рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реНрдЯреЛрд░ рдореЗрдВ рд╣реИ рдпрджрд┐ рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

@anurse рдореИрдВрдиреЗ рдЗрд╕ рдкрд░ рдПрдХ рдирдЬрд╝рд░

  • рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рдзрд╛рдПрдВ: рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЕрдВрджрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдЖрдИрдЖрдИрдПрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЙрдиреНрд╣реЗрдВ рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред
  • рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ: рд╣рдо рдХреЗрд╡рд▓ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬрдмрдХрд┐ рдЖрдИрдЖрдИрдПрд╕ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдЧреНрдиреЗрдЪрд░ рдФрд░ рдбреЗрдЯрд╛ рдПрдирдлреЛрд░реНрд╕рдореЗрдВрдЯ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

рдореЗрд░рд╛ рдХрд╛рд░реНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдпрд╣ рд╣реИ рдХрд┐ рдЯреАрдПрд▓рдПрд╕ рд╕реВрдЯ рдХрд╛ рд╕рдорд╛рдзрд╛рди рджреЛрдиреЛрдВ рдХреЗ рдмреАрдЪ рдЕрд▓рдЧ рд╣реИред @ рдЯреНрд░реЗрдбрд░ рдХреНрдпрд╛ рдЖрдк рджреЛрдиреЛрдВ

рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдмрд╕ рдбрд┐рдЬрд┐рдЯрд▓ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЛ рдореБрдЦреНрдп рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдореИрдВрдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд░рдВрдЯ Kestrel рдФрд░ IIS рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рд┐рдлрд░ рд╕реНрд╡реАрдЯреНрд╕ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдФрд░ рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ Kestrel рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдПрдХ рдмреИрдВрдб-рд╕рд╣рд╛рдпрддрд╛ рд╣реА рдЖ рдЬрд╛рдПрдЧреАред рдФрд░ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рдирд╣реАрдВред

@anurse рдиреАрдЪреЗ рджреА рдЧрдИ рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреАрдо рдореЗрдВ рдХрд┐рд╕реА рдХреЛ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ IIS рдФрд░ Kestrel рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рд╕рд┐рдлрд░ рд╕реБрдЗрдЯреНрд╕ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

function TryCreateAspNetCoreCertUsingPowershell () {
    $ekuOidCollection = [System.Security.Cryptography.OidCollection]::new();
    $ekuOidCollection.Add([System.Security.Cryptography.Oid]::new("1.3.6.1.5.5.7.3.1","Server Authentication"));
    $sanBuilder = [System.Security.Cryptography.X509Certificates.SubjectAlternativeNameBuilder]::new();
    $sanBuilder.AddDnsName("localhost");

    $certificateExtensions = @(
        # Subject Alternative Name
        $sanBuilder.Build($true),        
        # ASP.NET Core OID
        [System.Security.Cryptography.X509Certificates.X509Extension]::new(
            "1.3.6.1.4.1.311.84.1.1",
            [System.Text.Encoding]::ASCII.GetBytes("ASP.NET Core HTTPS development certificate"),
            $false),
        # KeyUsage
        [System.Security.Cryptography.X509Certificates.X509KeyUsageExtension]::new(
            [System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]::KeyEncipherment -bor [System.Security.Cryptography.X509Certificates.X509KeyUsageFlags]::DigitalSignature,
            $true),
        # Enhanced key usage
        [System.Security.Cryptography.X509Certificates.X509EnhancedKeyUsageExtension]::new(
            $ekuOidCollection,
            $true),
        # Basic constraints
        [System.Security.Cryptography.X509Certificates.X509BasicConstraintsExtension]::new($false,$false,0,$true))
    $parameters = @{
        Subject = "localhost";
        KeyAlgorithm = "RSA";
        KeyLength = 2048;
        CertStoreLocation = "Cert:\CurrentUser\My";
        KeyExportPolicy = "Exportable";
        NotBefore = Get-Date;
        NotAfter = (Get-Date).AddYears(1);
        HashAlgorithm = "SHA256";
        Extension = $certificateExtensions;
        SuppressOid = @("2.5.29.14");
        FriendlyName = "ASP.NET Core HTTPS development certificate"
    }
    New-SelfSignedCertificate <strong i="11">@parameters</strong>
}

рдпрджрд┐ рдЖрдкрдиреЗ рдХрд▓ рд╕реЗ рдЕрдВрджрд░реВрдиреА рд╕реВрддреНрд░ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ 20H1 рдирд╣реАрдВ 19H1 рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд░рд┐рд▓реАрдЬрд╝ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд░рд┐рдВрдЧ рдпрд╛ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд░рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред (рд╢рд╛рдпрдж рдпрд╣ рдЕрдм рдЕрдВрддрд┐рдо 19H1 рдХреЗ рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИ?)

рдореИрдВ рдЙрд╕ EKU рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реВрдВред

рдореИрдВ рдЕрднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реВрдВ, рдлрд┐рд░ @javiercn рдХреЗ рдЕрдкрдбреЗрдЯреЗрдб рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдм рдЕрдкрдбреЗрдЯреЗрдб рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЗ рд╕рд╛рде

https://github.com/aspnet/AspNetCore/pull/9293/files PR KU рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рд╣реИред

рдкреАрдЖрд░ рдХрд╛ рд╡рд┐рд▓рдп рд╣реЛ рдЧрдпрд╛ред рдЗрд╕реЗ рдмрдВрдж рдХрд░реЗрдВ рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдкрддрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ

рдореИрдВрдиреЗ рдХрд▓ рд╣реА 20H1 рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдерд╛
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 3.0.0-previewX рдореЗрдВ рдорд░реНрдЬ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ
рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 4 рдпрд╛ 5?
(рдореИрдВ рдПрдХ рд░рд╛рдд рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реВрдВ)

рдпрд╣ рдкреНрд░реАрд╡реНрдпреВ 5 рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдЧрд╛ред

рдЕрдЧрд░ рддреБрдо рджреМрдбрд╝реЛ

dotnet dev-certs http --clean

рдКрдкрд░ рдФрд░ рдлрд┐рд░ рд╢рдХреНрддрд┐рдпрд╛рдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ

dotnet dev-certs http --trust

рдпрд╣ рдЖрдкрдХреЛ рдЕрдирдмреНрд▓реЙрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рдмрдХреЛ рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдЕрдм рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 5 рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП Known issues рдореЗрдВ рдЗрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛ред

Https://github.com/aspnet/AspNetCore/issues/8952#issuecomment -482499042 рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕рд╣реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

dotnet dev-certs https --clean
dotnet dev-certs https --trust

рдмрд╕ рд╕реНрдерд╛рдкрд┐рдд рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6 рдФрд░ рдпрд╣ рдЕрднреА рднреА рдЦреБрд╢ рд╣реИред
Chrome ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХреЛрдИ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдПрд╕рдбреАрдХреЗ 2.0 рдФрд░ рдКрдкрд░ред

рдПрд╕рдбреАрдХреЗ / рд░рдирдЯрд╛рдЗрдо рд╕рдВрд╕реНрдХрд░рдг: 3.0.100-preview6-012264 ред

рдбреЙрдЯрдиреЗрдЯ - рдЗрдирдлреЛ рдЖрдЙрдЯрдкреБрдЯ
.NET рдХреЛрд░ SDK (рдХрд┐рд╕реА рднреА рдЧреНрд▓реЛрдмрд▓ .json рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реБрдП):
рд╕рдВрд╕реНрдХрд░рдг: 3.0.100-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6-012264
рдкреНрд░рддрд┐рдмрджреНрдз: be3f0c1a03

рдХреНрд░рдо рдкрд░реНрдпрд╛рд╡рд░рдг:
рдУрдПрд╕ рдирд╛рдо: рд╡рд┐рдВрдбреЛрдЬ
OS рд╕рдВрд╕реНрдХрд░рдг: 10.0.18362
рдУрдПрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо: рд╡рд┐рдВрдбреЛрдЬ
RID: win10-x64
рдЖрдзрд╛рд░ рдкрде: C: \ Program Files \ dotnet \ sdk3.0.100-pred6-012264 \

рд╣реЛрд╕реНрдЯ (рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА):
рд╕рдВрд╕реНрдХрд░рдг: 3.0.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6-27804-01
рдкреНрд░рддрд┐рдмрджреНрдз: fdf81c6faf

.NET рдХреЛрд░ SDK рд╕реНрдерд╛рдкрд┐рдд:
2.1.402 [C: \ Program Files \ dotnet \ sdk]
2.1.403 [C: \ Program Files \ dotnet \ sdk]
2.1.500 [C: \ Program Files \ dotnet \ sdk]
2.1.502 [C: \ Program Files \ dotnet \ sdk]
2.1.503 [C: \ Program Files \ dotnet \ sdk]
2.1.504 [C: \ Program Files \ dotnet \ sdk]
2.1.505 [C: \ Program Files \ dotnet \ sdk]
2.1.507 [C: \ Program Files \ dotnet \ sdk]
2.1.600 [C: \ Program Files \ dotnet \ sdk]
2.1.601 [C: \ Program Files \ dotnet \ sdk]
2.1.602 [C: \ Program Files \ dotnet \ sdk]
2.1.604 [C: \ Program Files \ dotnet \ sdk]
2.1.700 [C: \ Program Files \ dotnet \ sdk]
2.1.800-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-009696 [C: \ Program Files \ dotnet \ sdk]
2.2.100 [C: \ Program Files \ dotnet \ sdk]
2.2.102 [C: \ Program Files \ dotnet \ sdk]
2.2.104 [C: \ Program Files \ dotnet \ sdk]
2.2.202 [C: \ Program Files \ dotnet \ sdk]
2.2.204 [C: \ Program Files \ dotnet \ sdk]
2.2.300 [C: \ Program Files \ dotnet \ sdk]
3.0.100-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6-012264 [C: \ Program Files \ dotnet \ sdk]

.NET рдХреЛрд░ рд░рдирдЯрд╛рдЗрдо рд╕реНрдерд╛рдкрд┐рдд:
Microsoft.AspNetCore.All 2.1.4 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.1.5 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.1.6 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.1.7 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.1.8 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.1.9 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.1.11 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.2.0 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.2.1 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.2.2 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.All 2.2.3 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.Ab]
Microsoft.AspNetCore.All 2.2.5 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.AA]
Microsoft.AspNetCore.App 2.1.4 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.5 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.6 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.7 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.8 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.9 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.11 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.0 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.1 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.2 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.3 [C: \ Program Files \ dotnet \ shareMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.5 [C: \ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 3.0.0-preview6.19307.2 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.4 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.6 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.7 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.8 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.9 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.11 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.0 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.2 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.3 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.5 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoft.NETCore.App 3.0.0-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди6-27804-01 [C: \ Program Files \ dotnet \ рд╕рд╛рдЭрд╛ \ Microsoft.NETCore.App]
Microsoftред

рдореЗрд░реЗ рд▓рд┐рдП https://github.com/aspnet/AspNetCore/issues/11283 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@nphmuller

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6 рдбреЙрдЯрдиреЗрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА?

dotnet dev-certs https --clean
dotnet dev-certs https --trust

рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдкреБрд░рд╛рдирд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реИред рд╣рдордиреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдЬреЛрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6 рдореЗрдВ рдмрдирд╛ рд╣реИ рдпрд╛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 7 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред

@javiercn
рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА, рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ, рд▓реЗрдХрд┐рди --clean рд╡рд┐рдлрд▓ред рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП https://github.com/aspnet/AspNetCore/issues/11283 рдмрдирд╛рдпрд╛ рд╣реИред

@nphmuller рдЖрдк рдХрд┐рд╕ OS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдЖрдк рдкреНрд░рдорд╛рдгрд┐рдд рдкреНрд░рдмрдВрдзрдХ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдпрдВ рдХреЛ рд╕рд╛рдл рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ)
рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдкрд░ (рд╡рд┐рди + рдЖрд░) -> рдПрдордПрдорд╕реАрд╕реА -> рджрд░реНрдЬ -> (Ctrl + M (рд╕реНрдиреИрдк-рдЗрди рдЬреЛрдбрд╝реЗрдВ) -> рдкреНрд░рдорд╛рдг рдкрддреНрд░ -> рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ -> рдкреНрд░рдорд╛рдг рдкрддреНрд░ -> рд╡реНрдпрдХреНрддрд┐рдЧрдд -> рдкреНрд░рдорд╛рдг рдкрддреНрд░ -> 'рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ' рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ '-> ASP.NET Core HTTPS ... рд╡рд╛рд▓реЗ рд╡рд╛рд▓реЗ рдХреЛ рдирд┐рдХрд╛рд▓ рджреЗрдВред
рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА рдкрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде рджреЛрд╣рд░рд╛рдПрдБ
dotnet dev-certs https --trust рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдБ

@javiercn
рд╡реЛ рдХрд╛рдоред рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ рд╡рд┐рди резреж рез реп режрей (рез2рейремреи.рез I'mрел) рдкрд░ тАЛтАЛрд╣реВрдБ ( dotnet --info рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╢реБрд░реБрдЖрддреА рджрд┐рдиреЛрдВ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ)

рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рд▓рд┐рдЦрд╛ рд╣реИ, рдХрд┐ рдЕрдкрдЧреНрд░реЗрдб рд▓реЙрдЬрд┐рдХ рдиреЗ рдЗрд╕реЗ 6 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 7 рдореЗрдВ рд╣реЛрдЧрд╛ред

@javiercn @nphmuller рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ dotnet dev-certs https --trust рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ред рдпрд╣ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ ERR_CERT_AUTHORITY_INVALID рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ Kestrel рдЕрднреА рднреА рдкреБрд░рд╛рдиреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдФрд░ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рджрд┐рдпрд╛ рд╣реИ? рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЛ рдХреИрд╢ рд╕реЗрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдмрджрд▓рд╛рд╡ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдмрдВрдж рдФрд░ рдЦреЛрд▓рдирд╛ рд╣реЛрдЧрд╛ред

рд╣рд╛рдВ, рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ рднреА рдЕрднреА рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд┐рдпрд╛ред рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ (рдХреНрд░реЛрдо, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕, рдПрдЬ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ)ред рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕реА рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд┐рдЫрд▓реЗ рдПрдХ рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП 3.0 рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛?

рд╣рд╛рдВ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред dotnet --info рдЖрдЙрдЯрдкреБрдЯ @nphmuller рдХреЗ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ:

dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   3.0.100-preview6-012264
 Commit:    be3f0c1a03

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.18362
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.0.100-preview6-012264\

Host (useful for support):
  Version: 3.0.0-preview6-27804-01
  Commit:  fdf81c6faf

.NET Core SDKs installed:
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.500 [C:\Program Files\dotnet\sdk]
  2.1.502 [C:\Program Files\dotnet\sdk]
  2.1.503 [C:\Program Files\dotnet\sdk]
  2.1.504 [C:\Program Files\dotnet\sdk]
  2.1.505 [C:\Program Files\dotnet\sdk]
  2.1.600-preview-009426 [C:\Program Files\dotnet\sdk]
  2.1.600-preview-009472 [C:\Program Files\dotnet\sdk]
  2.1.600-preview-009497 [C:\Program Files\dotnet\sdk]
  2.1.600 [C:\Program Files\dotnet\sdk]
  2.1.601 [C:\Program Files\dotnet\sdk]
  2.1.602 [C:\Program Files\dotnet\sdk]
  2.1.604 [C:\Program Files\dotnet\sdk]
  2.1.700 [C:\Program Files\dotnet\sdk]
  2.2.200-preview-009648 [C:\Program Files\dotnet\sdk]
  2.2.200-preview-009748 [C:\Program Files\dotnet\sdk]
  2.2.200-preview-009804 [C:\Program Files\dotnet\sdk]
  2.2.200 [C:\Program Files\dotnet\sdk]
  2.2.201 [C:\Program Files\dotnet\sdk]
  2.2.202 [C:\Program Files\dotnet\sdk]
  2.2.204 [C:\Program Files\dotnet\sdk]
  2.2.300 [C:\Program Files\dotnet\sdk]
  3.0.100-preview6-012264 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-preview6.19307.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.2 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.5 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-preview6-27804-01 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0-preview6-27804-01 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдкрд░ рднреА?

dotnet --info рд╕рд┐рд░реНрдл sdks рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ
рдЖрдк рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдпрд╛ рдХрд┐рд╕реА рднреА рдореВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ Global.json рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдЙрд╕реА рдкреБрд░рд╛рдиреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдкреБрди: рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛

рд╕рдлрд╛рдИ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ
dotnet --version рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
рдЗрд╕рдХреЗ рдмрд╛рдж --trust рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

@javiercn рддреБрдореНрд╣рд╛рд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╣реВрдБред ЁЯЩВ

@tebeco dotnet --version рдкреНрд░рд┐рдВрдЯ 3.0.100-preview6-012264 рднреАред

рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрд╕ рд╕рдордп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рд╕рдордп рдЙрд╕ рдХрдорд╛рдВрдб рдХреЛ рдЪрд▓рд╛рддреЗ рдереЗ

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рде рдирд╣реАрдВ рдЪрд▓ рд╕рдХрддрд╛ред рдореБрдЭреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? ЁЯШХ

рдкреВрд░реА рд╕рдлрд╛рдИ рдХрд░реЗрдВ
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдЕрдЧрд░ рд░рд┐рдмреВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдлрд┐рд░ --trust рдПрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ dotnet version рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рдпрд╣реА рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рд╣реИ (рдХреБрдЫ рд╕рдордп) ЁЯЩВ - рдлрд┐рд░ рднреА рдХреЛрдИ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдирдпрд╛ рд╕реНрдерд╛рдкрд┐рдд VS2019 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 16.2 рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 2 рд╣реИ рдФрд░ рдпрд╣ Kestrel рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдкрд╣рд▓рд╛ ASP.NET рдХреЛрд░ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдЙрд╕реА рдореБрджреНрджреЗ рдХреЛ рдорд╛рд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪреНрдЫ / рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрдорд╛рдВрдб рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред

dotnet --version
3.0.100-рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 010,184

рдпрд╣ рдПрдХ рд░рд┐рдХреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ .ConfigureKestrel () рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ

@karaziox 3.0.100-рдкреНрд░реАрд╡реНрдпреВ -010184 рдПрд╕рдбреАрдХреЗ 3.0.0-рдкреНрд░реАрд╡реНрдпреВ 2 рд╕реЗ рд╣реИ, рдЬрд╣рд╛рдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреНрд░реАрд╡реНрдпреВ 6 рддрдХ рддрдп рдирд╣реАрдВ рдХреА рдЧрдИ рдереАред Https://dotnet.microsoft.com/download/dotnet-core/3.0 рдкрд░ рдХрд░реЗрдВ ред

@javiercn рддреБрдореНрд╣рд╛рд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ? рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╣реВрдБред ЁЯЩВ

@tebeco dotnet --version рдкреНрд░рд┐рдВрдЯ 3.0.100-preview6-012264 рднреАред

@ рд╕рдорд╕реНрдпрд╛ рдХрд╛

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 7 рдореЗрдВ рд╣реИ, рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6 рдирд╣реАрдВред @jkotalik рдХреНрдпрд╛ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП dotnet 3.0.100-preview6-012264 рдФрд░ VS 16.2.0 Preview 3.0 рд╕рд╛рде рдПрдХ рдореБрджреНрджрд╛ рд╣реИ

IIS рдбрд┐рдлрд╝реЙрд▓реНрдЯ ASP.Net рдХреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, Kestrel ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

@simonmurdock рдЖрдк dotnet dev-certs https --clean рдФрд░ dotnet dev-certs https --trust рд╕рд╛рде рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдореБрджреНрджреЗ рд╣рд▓ рдХрд┐рдП рдЧрдП рдереЗ рдЬреЛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 7 рдореЗрдВ рддрдп рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди 6 рдореЗрдВ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдирдорд╕реНрддреЗред рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╛рди рдореБрджреНрджрд╛ 3.0.100-preview6-012264 (OS рд╡рд┐рди 8.1), рдиреЗ VS2019 16.1.1 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред dotnet new blazorhosted рд╕рд╛рде рд╕рддреНрдпрд╛рдкрд┐рддред рдореИрдВрдиреЗ рдбреЙрдЯреНрд╕ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рд╕реЗрд░реНрдЯреНрд╕ (рдХреНрд░реЛрдо 75.0.3770.100 рдХреЛ рдмрдВрдж рдХрд░рддреЗ рд╣реБрдП) рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рд╕реЗ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдХреЛрдИ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реАред

Winv.1 рдкрд░ @vmandic HTTP / 2 рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#http2 -support

рдЕрдЧрд░ рд╣рдо Win7 рдпрд╛ Win8 рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ рддреЛ @Tratcher рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ HTTP2 рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

@jkotalik рдХреГрдкрдпрд╛ рдЯреНрд░рд╛рдЗрдПрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ Win8.1 рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╡рд╣рд╛рдБ рд╕рд┐рд░реНрдл рдПрдХ рдЖрджреЗрд╢ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕рд╛рдЗрдмрд░ рдСрд░реНрдбрд░ рдФрд░ рдПрдХ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдХреБрдЫ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рд╛рдЗрдмрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рдЪреВрдВрдХрд┐ рд╕рдорд╕реНрдпрд╛ рддрдм рднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдИ рдЬрдм рдореИрдВрдиреЗ рдХрд▓ рдкреНрд░реАрд╡реНрдпреВ 8 рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдореИрдВрдиреЗ рд╕рдлрд▓рддрд╛ рдХреЗ рдмрд┐рдирд╛ dotnet dev-certs https --clean рдФрд░ dotnet dev-certs https --trust рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ Kestrel рдЕрднреА рднреА рдПрдХ рдкреБрд░рд╛рдиреЗ, рдкреБрд░рд╛рдиреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ Windows рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдЙрдХреНрдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдпрд╣рд╛рдБ рдХреИрд╢ рдХрд┐рдП рдЧрдП рд╣реИрдВ: C:\Users\<user>\AppData\Roaming\ASP.NET\Https ред рддреАрди * .pfx рдлрд╛рдЗрд▓реЗрдВ рдереАрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрднреА рднреА Kestrel рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдереАред

рдЗрд╕реЗ рдЦреЛрдЬрдиреЗ рдореЗрдВ рдореБрдЭреЗ рд╕рдЪрдореБрдЪ рдШрдВрдЯреЗ рд▓рдЧ рдЧрдПред рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреИрд╢ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдХрд╣реАрдВ рдирд╣реАрдВ рдвреВрдВрдв рдкрд╛ рд░рд╣рд╛ рдерд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреГрдкрдпрд╛ред

рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рд╡рд╣ рд╕реНрдерд╛рди рд╣реИ рдЬрд╣рд╛рдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддрд╛ рд╣реИред

@ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдбреЙрдХреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдирд╕реЗ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдЬреЛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛, рдЙрд╕реЗ рдЯреВрд▓ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдбреЙрдХрд┐рдВрдЧ рдЯреВрд▓рд┐рдВрдЧ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрд╢рди рдбрд┐рдЯреЗрд▓ рдФрд░ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИред

рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдпрд╣рд╛рдВ рд░рдирдЯрд╛рдЗрдо рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╣рдо рдбреЙрдХреНрд╕ рдореЗрдВ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЪрд▓рдиреЗ рдкрд░ рдХреНрдпрд╛ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП https://github.com/aspnet/AspNetCore.Docs/issues/13927 рджрд░реНрдЬ рдХрд┐рдпрд╛ рд╣реИред

рд╡рд┐рд╕реНрддреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреБрдЫ рд╕рдордп рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред рдЖрдкрдХрд╛ рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ermithun picture ermithun  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

TanvirArjel picture TanvirArjel  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

githubgitgit picture githubgitgit  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rynowak picture rynowak  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mj1856 picture mj1856  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ