ãã©ãŠã¶ã¯HTTP2ã«äœ¿çšãããæå·ã«æºè¶³ããŠããŸããïŒç§ã¯æšæž¬ããŸãïŒ
ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
ããã³åçã®Chrome
Firefoxã®ã¿
ç§ã¯ãªããšãabout:config
ã匱ãæå·ãã§ãã¯ãç¡å¹ã«ããŸãããããã¯å®éã«å¹æããããŸã
Kestrel IOptions<>
ä»ããŠHTTP2ãå®å
šã«ç¡å¹ã«ããç°¡åãªæ¹æ³ã¯ãããŸããïŒ
åäœãåçŸããæé ïŒ
2.2.105
ãš3.0.0-preview3
ãã€ã³ã¹ããŒã«ããŸãdotnet new webapi -n foo
UseHsts
UseHttpsRedirection()
dotnet run --project foo.csproj
http
ãšã³ããã€ã³ãã«ããã=>åäœhttps
ãšã³ããã€ã³ãã«ããã=>æåŠç§ãããããšããŸãã ïŒ
dotnet dev-certs http --clean
dotnet dev-certs http --trust
.vs/
åé€ããŸãlaunchSettings.json
ãä»ã®ãã®ã«å€æŽããŸãUseHttpsRedirection()
åé€ããŸããUseHsts()
åé€ããŸããç§ãããã®ã¯Vs2019ã®æŽæ°ã ãã ã£ããšç¢ºä¿¡ããŠããŸããããã¯ã2é±éåã«åãSDKïŒãŸãã¯ææ°ã®win10ã€ã³ãµã€ããŒ-é«éãªã³ã°æŽæ°ïŒã§æ©èœããŠããŸããã
>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>
ãµãŒããŒã¯ã©ã®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
Windows10-é«éãªã³ã°ã€ã³ãµã€ããŒ
Vs2019ãã¬ãã¥ãŒ
netcoreapp3.0.0ãã¬ãã¥ãŒ
ïŒãšããžã®ãã®ã®æ^^ïŒ
å é±ã¯ããŸããã£ãŠããŸããã ã€ã³ãµã€ããŒãã³ã+ vs2019ã®ææ°ãã¬ãã¥ãŒã«èŠèããã
ãŸããWin2016ãµãŒããŒã®HTTP2ãç¡å¹ã«ããããã«2ã€ã®ã¬ãžã¹ããªããŒãè¿œå ããããšããŸããã
ã©ã®ãã©ãŠã¶ã«ã圱é¿ã¯ãããŸããã§ãã
ãããã®regããŒã¯ãIIS /Http.Syså°çšã§ãã ã€ã³ãµã€ããŒã«ã¯ååž°ãããã®ã ãããã @shirhatti
ããã¯ãéçºè ã«ãæçµçã«ãã®ããã«ãªãå¯èœæ§ã®ãããµãŒããŒã§å®è¡ãããŠããããšãç¥ãããæ¹æ³ã§ããïŒ
ããšãã°ãçŸåšã®ãã·ã³/ãµãŒããŒã§äœ¿çšã§ããdotnet tool
ãªã¹ãæå·ãããšãã°ãæœåšçãªåŒ±ãæå·ã瀺ãè²ãªã©ã
ãŸãã¯ããªã¹ããããŠããæå·ãèµ·åæã«åŒ±ãããå Žåã«ãµãŒããŒãæ»æçã§ãã§ã€ã«ãã¡ã¹ãã«ããããŒã«å€ã
ããã¯ã蚱容ã§ããããªã¹ããç¥ãå¿ èŠãããããã®ãããªãªã¹ããååšãããã©ããããããŠãããå¯èœãã©ããã¯æ¬åœã«ããããŸããã
ãããã©ãããæ¥ãã®ããç解ããã®ã«é·ãæéãããããŸãã
ç¹å®ã®ãŠã£ã³ããŠã®ãã«ãçªå·ãæããŠããã ããŸããïŒ
ãã®çš®ã®ããŒã«ãè¿œå ããã®ã¯ããã¹ãŠã®rtmwin10ãã«ãã§æ©èœãããšã¯èšããªããªã£ãå Žåã®ã¿ã§ãã
1803ã¢ããããŒãã®æç¹ã§ãIISã§ã¯ãã€ã³ãã£ã³ã°ããšã«Http.Sysãå¶åŸ¡ã§ããŸãã ãµãŒããŒå šäœã§HTTP / 2ãç¡å¹ã«ããå¿ èŠããªããªããŸããã
ããã¯èšã£ãŠããã°ããŒãã«regããŒã¯åŒãç¶ãæ©èœããã¯ãã§ãã Windowsã®ãã«ãçªå·ãæããŠããã ããŸãããã調æ»ããŸãã
@shirhatti圌ãã¯Kestrelã䜿çšããŠããŸãã
ãã£ãšð€Šââïžã 以åã®ã³ã¡ã³ãã¯ç¡èŠããŠãã ããã
ãŸããä¿®æ£ã§ããã®ã§ããã°ãHttp2ãç¡å¹ã«ããããããŸãã;ïŒ
@Tratcher
ããã¯åœ¹ã«ç«ã¡ãŸããïŒ
> systeminfo
OS Version: 10.0.18362 N/A Build 18362
OS Configuration: Standalone Workstation
> 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ããŽã·ãšãŒããããŠããå 容ãæ£ç¢ºã«ç¢ºèªã§ããããã«ãwiresharkãã¬ãŒã¹ãæäŸããŠããã ããŸããïŒ ããããšãïŒ
cc @anurse
ããªããæ¢ããŠãããã®ãæœåºããããã«ã©ã®ãã£ã«ã¿ãŒã䜿çšããŸãããç§ãæãŸãªãããŒã¿ããªãŒã¯ããå¯èœæ§ããããŸã
ãŸããç§ã¯å®éã«äœããèŠãŠããã®ã§ã¯ãªãããšçã£ãŠããŸãïŒ
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)
ä»ã®ãšãããFirefoxã䜿çšããŠãã£ããã£ãå®è¡ãç¶ãããšæããŸãããwiresharkãã€ã³ã¹ããŒã«ãããšãã«æªããªãã·ã§ã³ãéžæãïŒloopback / wifi / adminãªã©ã«é¢ããå€ãã®è³ªå...ïŒãããŸãã«ãå€ãã®ãªãã·ã§ã³ããopt_outãããå¯èœæ§ããããŸã
ãŸããç§ã¯ãã®ãã£ã«ã¿ãŒã䜿ãããšããŸããïŒ tcp.port == 5043
ïŒããã¯KestrelããŒãã§ããã¯ãã§ãïŒ
äœãèŠããªã
ãŸããç§ã¯H2ãç¡å¹ã«ããŸããã§ããããã£ããæ®éã§ãïŒ
ïŒäºéäžžãå€ã¯ããŒãã¹ã§ãïŒ
@shirhatti
Wiresharkã®ãã£ããã£ãæ¬åœã«å®è¡ããã
ç§ã¯ã©ãããããïŒã€ãŸãWifiïŒã䜿çšããŠãããã±ã¹ãã¬ã«ã«localhostã䜿çšããŠããŸã
çŸåšã6-8ãããã¯ãŒã¯ã¢ããã¿ãæèŒããŠããã©ããããã
ã¯ãªãŒã³ã§çŽ æµãªãã£ããã£ãè¡ãããã®æè¯ã®æ¹æ³ã¯äœã§ããïŒ
ãŸããå¿ èŠãªãã®ããã£ã«ã¿ãªã³ã°ããããã«ã©ã®ãã£ããã£ãã£ã«ã¿ãŒã䜿çšããå¿ èŠããããŸããïŒ
åæ§ã®åé¡ïŒ https ïŒ
ããã¯18356.21ã§åçŸã§ããïŒ8409ã18362.1ã§å ±åããŸãã
IEãšEdgeã§æ©èœãããããããã¯WindowsããµããŒãããæå·ãšChromeããµããŒãããæå·ã®ç«¶åã§ããããšã«æ³šæããŠãã ããã
@Tratcher
ããŠChromeãšFirefox
ããã¯å°ãåä»ã§ã
[dev]蚌ææžèªäœãå®å šã§ãªãå¯èœæ§ã¯ãããŸããããç¹å®ã®æå·ã¹ã€ãŒããšã®ã¿äºææ§ããããŸãã ã€ãŸããECãµã€ãã¡ãŒã§ã¯æ©èœããªããšæããŸãã ããŽã·ãšãŒã·ã§ã³ã¯èšŒææžäºæã®æå·ã«ãã©ãŒã«ããã¯ããHTTP / 2èŠä»¶ãæºããæå·ãèŠã€ããããªãããã§ãã
ä»ã®ã¹ã¬ããããã®@Tratcherã®ã³ã¡ã³ã
ç§ã¯äœãæå©ãããããšãã§ããŸãã ïŒ
@tebecoãããããŸã§ãããã§ååã ãšæããŸãã
ãã¬ãã¥ãŒã«æã¡èŸŒã5ã
å¯èœã§ããã°ãåé¿çã¯Vs.netãšIIS Expressã䜿çšãããã®æ¹æ³ã§ãããã°ããããšã§ããããã¯ãIISExpresséçºèšŒææžãWindowsInsiderãªãªãŒã¹ã§ãæ£ããæ©èœããããã§ãã ãããæã€äººã®ããã«ä»ã®ãšããåé¡ã解決ããŸãã
å¥ã®ããŒã¿ãã€ã³ãïŒKestrelã§IIS Expressã®èšŒææžã䜿çšããŠãã¹ãããŸãããããããæ©èœããŸãããAspNetCoreéçºèšŒææžã§äœãå€æŽããå¿ èŠããããã確èªããŸãã
@Tratcherããããããã®æé ã¯ãããŸããïŒ ä»ã®ãšãããçãåé¿çã«ãªããŸãã ããŸããã£ãããšãããããæããŸãïŒ
@anurseã³ãŒããµã³ãã«ã貌ãä»ããããšãã§ããŸããïŒ
ããã 3.0ã®éçºèšŒææžãä¿®æ£ããäºå®ã§ãããäžæçãªåé¿çãšããŠãKestrelããçŽæ¥IISExpresséçºèšŒææžã䜿çšã§ããŸãã
ããã¯Windowsã§ã®ã¿æ©èœãïŒãã ãããããŸã§ã®ãšããåé¡ã¯ããã§ã®ã¿å ±åãããŠããŸãïŒãIIS Expressãã€ã³ã¹ããŒã«ããŠæ§æããå¿ èŠããããŸãïŒããã«ã¯VSãã€ã³ã¹ããŒã«ããã ãã§ååã§ãïŒã ãµã€ãããã¹ããã䜿çšããå¿ èŠã¯ãããŸãããéçºèšŒææžãåããŠããã ãã§ã:)ã
ãŸãããŠãŒã¶ãŒèšŒææžã¹ãã¢ã§IIS Express蚌ææžãèŠã€ããŠãæå°ãååŸããå¿ èŠããããŸãã 次ã®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 1018356ã®IISExpress Dev Certã¯æ£åžžã«æ©èœããŸãããç§ãã¡ã®ãã®ã¯æ©èœããŸããã ç§ãã¡ãããå¿ èŠãããã®ã¯ãåãèŠä»¶ã«äžèŽããããšã確èªããããšã ãã§ãã
éçºèšŒææžã¯Windows10 19H1ã§å®å šã«å£ããŠãããããããã¯ãã¬ãã¥ãŒ5ã®åªå 床ãé«ããªããŸãã
cc @mkArtakMSFT
@anurseåé¡ãèªã¿@blowdartã«éç¥ããå¿ èŠããããŸããããã
ãããç§ã®ç解ã§ãã ç§ãèšã£ãããã«ãIIS Express蚌ææžãæ£ããæ©èœããŠããããšã¯ããã£ãŠããŸããäœãéãã®ããç解ãããã®å€æŽã蚌ææžã«ãé©çšããå¿ èŠããããŸã:)ã
@shirhatti IIS蚌ææžã«ã©ã®ãããªå€æŽãå ããããããå ·äœçã«ç¥ã£ãŠãã人ãç¥ã£ãŠããŸããïŒ å ããããå€æŽãç¥ã£ãŠããã°ã蚌ææžã®è©³çŽ°ã«é£ã³èŸŒãã®ãå©ãããããããŸãã:)
ç§ã¯ãããèŠãŠãWindows 10ãã·ã³ãäœæãããããææ°ã®ã€ã³ãµã€ããŒãã«ãã«æŽæ°ããvsãã€ã³ã¹ããŒã«ããŸããïŒIISã蚌ææžãã€ã³ã¹ããŒã«ããããã«ïŒã
蚌ææžã«ã¯äœã衚瀺ãããŠããŸããã 誰ãããäœæ¥èšŒææžãããšã¯ã¹ããŒãããŠç§ãšå ±æããç§ããããèŠãããšãã§ããããã«ããããšã¯ã§ããŸããïŒ ãããªãã¯éšåã ããå¿ èŠã§ãã
æ¯èŒã§ããããã«ãäž¡æ¹ãããã«ç€ºããŸãã ãŸããASP.NET Core蚌ææžã¯çŸåšã®ãŠãŒã¶ãŒã®å人çšã¹ãã¢ã«ãããIISExpress蚌ææžã¯éèŠãªå Žåã¯ããŒã«ã«ãã·ã³ã®å人çšã¹ãã¢ã«ããããšã«æ³šæããŠãã ããã
@anurseç§ã¯ãããèŠãŠããŸããã 蚌ææžã¯äž»ã«ïŒ@ JohnGalt1717ã«ãã£ãŠæäŸããã蚌ææžã«åºã¥ããŠïŒåäžã§ãããããã€ãã®ç¹ãç°ãªããŸãã
ç§ã®çè«ã§ã¯ã解決ãããTLSã¹ã€ãŒãã¯2ã€ã§ç°ãªããŸãã @Tratcherã¯ãäž¡æ¹ã®
ããã«åºã¥ããŠãèãããã解決çã¯ãããŒã®äœ¿çšæ³ã«ããžã¿ã«çœ²åãè¿œå ããããšã§ãã ãšã¯ãããKestrelãšIISã§äœ¿çšãããæå·ã¹ã€ãŒãã®ããã©ã«ãã®ã»ãããèŠãŠãããããæ¯èŒããããšã¯æ£åœã ãšæããŸããKestrelã¯åãå ¥ããããªããã®ã«ããŠã³ã°ã¬ãŒãããŠããã®ã§ã蚌ææžãå€æŽãããšãåé¡ã«ãã³ããšã€ãããããã ãã§ããæ£ããä¿®æ£ããªãã§ãã ããã
@anurse以äžã®PowerShellã¹ããããã¯ãããžã¿ã«çœ²åãè¿œå ãããaspnetcoreäºæãhttps蚌ææžãäœæããŸãã ç§ã¯ãããWin10ã€ã³ãµã€ããŒãã«ãã§åçŸããããšããŠããŸããããåçŸã§ããŸããã§ããã ããŒã ã®èª°ãã«è©ŠããŠãããããšã¯ã§ããŸããïŒ
ããã«éèŠãªã®ã¯ã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>
}
æšæ¥ããã®ã€ã³ãµã€ããŒãã«ãã䜿çšããå Žåãããã¯19H1ã§ã¯ãªã20H1ã§ãã åé¡ã®ããããŒãžã§ã³ãååŸããã«ã¯ããªãªãŒã¹ãã¬ãã¥ãŒãªã³ã°ãŸãã¯ã¹ããŒãªã³ã°ãå®è¡ããå¿ èŠããããŸãã ïŒå€åããã¯çŸåšæçµçãª19H1ã®åé¡ã§ããïŒïŒ
ãã®EKUãè¿œå ããŠã倧äžå€«ã§ãã
ä»ããåé¡ãåçŸãã @ javiercnã®æŽæ°ããã蚌ææžãã€ã³ã¹ããŒã«ããŠåãæ¿ãããšãããæŽæ°ããã蚌ææžã§åé¡ãåçŸãã
https://github.com/aspnet/AspNetCore/pull/9293/filesPRã¯KUãæŽæ°ããããã«åºãŠããŸãã
PRãå䜵ããŸããã ããã§å¯ŸåŠãããã®ãä»ã«ãªããšæããå Žåã¯ãéããŠãã ãã
æšæ¥20H1ã«ã¢ããããŒãããŸãã
ã©ã®ãã¬ãã¥ãŒ3.0.0-previewX
ã«ããŒãžãå«ãŸãããããããŸãã
ããã«ã€ããŠç§ã«æããŠããããŸããïŒ ãã¬ãã¥ãŒ4ãŸãã¯5ïŒ
ïŒç§ã¯æ¯æ©ãã¹ãã§ããŸãããã¯ã€ãã¯ãã¹ãã®åŸã§ããã䜿çšããæ°ã¯ãããŸããïŒ
ããã¯preview5ã®äžéšã«ãªããŸãã
å®è¡ããå Žå
dotnet dev-certs http --clean
äžèšã®PowerShellã¹ã¯ãªãããšãã®åŸ
dotnet dev-certs http --trust
ãããã¯ã解é€ããå¿ èŠããããŸãã
ã¿ããªãããããšãã ããã¯ä¿®æ£ãããŸãããPreview5ãªãªãŒã¹ã®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
å ±åããŸãã
ãããŸã§ãã¬ãã¥ãŒãã€ã³ã¹ããŒã«ããããšã¯ãªããSDK2.0以éã®ã¿ãã€ã³ã¹ããŒã«ããŸããã
SDK /ã©ã³ã¿ã€ã ããŒãžã§ã³ïŒ 3.0.100-preview6-012264
ã
dotnet--infoåºå
.NET Core SDKïŒglobal.jsonãåæ ïŒïŒ
ããŒãžã§ã³ïŒ3.0.100-preview6-012264
ã³ãããïŒbe3f0c1a03
å®è¡æç°å¢ïŒ
OSåïŒWindows
OSããŒãžã§ã³ïŒ10.0.18362
OSãã©ãããã©ãŒã ïŒWindows
RIDïŒwin10-x64
ããŒã¹ãã¹ïŒCïŒ\ Program Files \ dotnet \ sdk3.0.100-preview6-012264 \
ãã¹ãïŒãµããŒãã«åœ¹ç«ã¡ãŸãïŒïŒ
ããŒãžã§ã³ïŒ3.0.0-preview6-27804-01
ã³ãããïŒfdf81c6faf
ã€ã³ã¹ããŒã«ãããŠãã.NETCore 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-preview-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-preview6-012264 [CïŒ\ Program Files \ dotnet \ sdk]
ã€ã³ã¹ããŒã«ãããŠãã.NETCoreã©ã³ã¿ã€ã ïŒ
Microsoft.AspNetCore.All 2.1.4 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.5 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.6 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.7 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.8 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.9 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.11 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.0 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.1 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.2 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.3 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.5 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.All]
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 \ sharedMicrosoft.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 \ sharedMicrosoft.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 \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.2 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.3 [CïŒ\ Program Files \ dotnet \ sharedMicrosoft.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 \ sharedMicrosoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.4 [CïŒ\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.5 [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]
ç§ã«ãšã£ãŠã¯https://github.com/aspnet/AspNetCore/issues/11283ã«é¢é£ããŠããå¯èœæ§ããã
@nphmuller
Preview6 dotnetç°å¢ã§æ¬¡ã®ã³ãã³ããå®è¡ããŠã¿ãŸãããïŒ
dotnet dev-certs https --clean
dotnet dev-certs https --trust
å€ã蚌ææžãæã£ãŠããå¯èœæ§ããããŸãã 蚌ææžãã¢ããã°ã¬ãŒãããããžãã¯ãè¿œå ããŸãããããããpreview6ã«ãªã£ãã®ããpreview7ã§å©çšã§ããããã«ãªãã®ãããããŸããã
@javiercn
åé¿çãšããŠè©ŠããŸãããã --clean
ã倱æããŸãã ãã®åé¡ã®ããã«https://github.com/aspnet/AspNetCore/issues/11283ãäœæããŸããã
@nphmullerã©ã®OSã䜿çšããŠããŸããïŒ
蚌ææžãããŒãžã£ãŒãéããŠãèªåã§èšŒææžãã¯ãªãŒã³ã¢ããã§ããŸãïŒããã¯çæ³çã§ã¯ãªããšæããŸãïŒ
Windowsã®å ŽåïŒWin + RïŒ-> mmc-> Enter->ïŒCtrl + MïŒã¹ãããã€ã³ãè¿œå ïŒ->蚌ææž->ãã€ãŠãŒã¶ãŒã¢ã«ãŠã³ã->蚌ææž->å人->蚌ææž->ãlocalhostãã®ãããã®ãæ€çŽ¢'-> ASP.NET Core HTTPS ...
ããããã®ãåé€ããŸãã
ä¿¡é Œãããã«ãŒã蚌ææ©é¢ã®èšŒææžã§ç¹°ãè¿ããŸã
dotnet dev-certs https --trust
åå®è¡ããŸã
@javiercn
ãã®ä»äºã ããããšãïŒ
ç§ã¯Win10 1903ïŒ18362.175ïŒã䜿çšããŠããŸãïŒ dotnet --info
åºåã«ããæåã®ã³ã¡ã³ããæžã蟌ãã§ããŸãïŒ
ç§ã®æšæž¬ã§ã¯ãããªããæžããããã«ãã¢ããã°ã¬ãŒãããžãã¯ã¯ãã¬ãã¥ãŒ6ã«å°éããŠããŸãããããã¬ãã¥ãŒ7ã«ãªããŸãã
@javiercn @nphmulleråãåé¡ãçºçããŸãããæåã§èšŒææžãåé€ãã dotnet dev-certs https --trust
ã䜿çšããŠèšŒææžãåäœæããŠã¿ãŸããã ããã¯æ©èœããŸããããERR_CERT_AUTHORITY_INVALIDãšã©ãŒãçºçããŸãã Kestrelã¯ãŸã å€ã蚌ææžã䜿çšããŠããããã§ãã äœãæ¡ã¯ïŒ
ãã©ãŠã¶ãŠã£ã³ããŠãéããŠããå床éããŸãããïŒ ãã©ãŠã¶ã¯èšŒææžãã¡ã¢ãªã«ãã£ãã·ã¥ãããããå€æŽã衚瀺ããã«ã¯æ°ãããã©ãŠã¶ãéããŠéãå¿ èŠããããŸãã
ããããã£ãã ãŸããä»ããã³ã³ãã¥ãŒã¿ãåèµ·åããŸããã åäœããªãããã§ãïŒChromeãFirefoxãEdgeã§è©ŠããŠã¿ãŸããïŒã 蚌ææžããââã£ãã·ã¥ãããå¯èœæ§ã®ããå Žæã¯ãããŸããïŒ èšŒææžã¯ç¢ºãã«åã®ãã®ã®ããã§ãã
3.0 SDKã䜿çšããŠèšŒææžãçæããŸãããïŒ
ã¯ããããæããŸãã 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
ã¯SDKããªã¹ãããã ãã§ã
ãã®ãã©ã«ããŒãŸãã¯ä»»æã®èŠªãã©ã«ããŒå
ã®global.jsonã®åœ±é¿ãåããŠããå¯èœæ§ããããŸã
ãã®çµæãåãå€ã蚌ææžãåçæãããŸã
ã¯ãªãŒã³ã¢ããããŠã¿ãŠãã ãã
dotnet --version
確èªããŠãã ãã
次ã«ã --trust
ã³ãã³ãã䜿çšããŸã
@javiercnã©ãããæå³ã§ããïŒ ç§ã¯Windowsã䜿çšããŠããŸãã ð
@tebeco dotnet --version
ã¯3.0.100-preview6-012264
ãåºåããŸãã
åé¡ã¯ããã®æç¹ã§å®éã«ãã®ã³ãã³ããå®è¡ãããšãã«ãããã確èªããå¿ èŠããããšããããšã§ãã
ç§ã¯æ¬åœã«ã€ããŠããããšãã§ããŸããã ç§ã¯ã©ããããããã§ããïŒ ð
å®å
šãªã¯ãªãŒã³ã¢ãããè¡ã
åèµ·åãå¿
èŠãã©ããããããªã
ãã®åŸããã§ãã¯dotnet version
åå®è¡ããåã«ã --trust
ãã®ã
ããã¯ç§ããã§ã«ïŒæ°åïŒè¡ã£ãããšã§ãð-ãŸã æåããŠããŸããã
æ°ããã€ã³ã¹ããŒã«ããVS2019ãã¬ãã¥ãŒ16.2ãã¬ãã¥ãŒ2ããããŸããããã¯ãå®è¡ããKestrelãããžã§ã¯ããå«ãæåã®ASP.NETã³ã¢ã§ãããåãåé¡ãçºçããŠããŸãã clean / trustã³ãã³ããè©ŠããŠãå€æŽãªãã§èšŒææžãæŽæ°ããŸããã
dotnet --version
3.0.100-ãã¬ãã¥ãŒ-010184
ããã¯ãå€æŽãªãã§.ConfigureKestrelïŒïŒãè¿œå ããã空ã®ãããžã§ã¯ãã§ãã
@karaziox 3.0.100-preview-010184 SDKã¯3.0.0-preview2ããã®ãã®ã§ããããã®åé¡ã¯preview6ãŸã§ä¿®æ£ãããŸããã§ããã https://dotnet.microsoft.com/download/dotnet-core/3.0ã«ã¢ã¯ã»ã¹ããSDK3.0.100-preview6-012264ãã€ã³ã¹ããŒã«ããŸãã
@javiercnã©ãããæå³ã§ããïŒ ç§ã¯Windowsã䜿çšããŠããŸãã ð
@tebeco
dotnet --version
ã¯3.0.100-preview6-012264
ãåºåããŸãã
@Tratcheråé¡ã¯åŒãç¶ãpreview6ã§çºçããŸãã
ä¿®æ£ã¯preview6ã§ã¯ãªãpreview7ã«ãããšæããŸãã @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 Win 8.1ïŒã¯ãVS201916.1.1ãã€ã³ã¹ããŒã«ããŸããã dotnet new blazorhosted
確èªæžã¿ã dotnetããŒã«ã䜿çšããŠèšŒææžïŒchrome 75.0.3770.100ãéããïŒãã¯ãªãŒã³ã¢ããããååºŠä¿¡é ŒããŠã¿ãŸãããã圹ã«ç«ã¡ãŸããã§ããã
@vmandic HTTP / 2ã¯Win8.1ã§ã¯ãµããŒããããŠããªãããããªãã«ããå¿
èŠããããŸãã
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-2.2#http2-support
@Tratcher Win7ãŸãã¯Win8ã§å®è¡ããŠããå Žåã¯ãããããããã©ã«ãã§
@jkotalikã¯ããªã¢ãŒãžã®æ°ããåé¡ãéããŠãã ããã çè«çã«ã¯ãWin8.1ã§åäœããŸããããµã€ãã¡ãŒã®é åºä»ããšãããã€ãã®ä»£æ¿ãµã€ãã¡ãŒããµããŒããã蚌ææžã®ååŸã«åé¡ããããŸãã
æšæ¥Preview8ãã€ã³ã¹ããŒã«ããŠãåé¡ã解決ããªãã£ãããã dotnet dev-certs https --clean
ãšdotnet dev-certs https --trust
äž¡æ¹ãå床å®è¡ããããšããŸããããæåããŸããã§ããã
KestrelããŸã å€ãå€ã蚌ææžã䜿çšããŠããããšãããããŸããããWindows蚌ææžãããŒãžã£ãŒã§ãã®èšŒææžãèŠã€ããããšãã§ããŸããã§ããã 蚌ææžã¯ããã«ãã£ãã·ã¥ãããŠããããšãããããŸãïŒ C:\Users\<user>\AppData\Roaming\ASP.NET\Https
ã 3ã€ã®* .pfxãã¡ã€ã«ãããããã®ãã¡ã®1ã€ã¯æããã«Kestrelã«ãã£ãŠãŸã 䜿çšãããŠããŸããã
ãããèŠã€ããã®ã«æåéãäœæéãããããŸããã 蚌ææžããââã£ãã·ã¥ãããããšããã§ã«æåŸ ããŠããŸããããããã¥ã¡ã³ãã®ã©ããã«ãããèŠã€ããããšãã§ããŸããã§ããã ããã¯æ¬åœã«ææžåããå¿ èŠããããŸãã
Dockerã³ã³ããã䜿çšããŠããããã ãšæããŸãã ããã¯ãdockerã蚌ææžããšã¯ã¹ããŒãããŠã³ã³ãããŒã«ã€ã³ããŒãããå Žæã§ãã
@anurseãããããã¥ã¡ã³ãã«è¿œå ã§ãããšæããŸãã ãã®ãã©ã«ããŒãã¯ãªãŒãã³ã°ããããšãDockerã®äººã ã«äžãã圱é¿ã¯ããããŸãããã質åããããšã¯ã§ããŸãã
DockerããŒã«ã®å®è£ ã®è©³çŽ°ã§ãããããŒã«ãšã¯äœã®é¢ä¿ããªãããããããããŒã«ã«è¿œå ããå¿ èŠã¯ãããŸããã
ãšã¯ãããããã¥ã¡ã³ãã§ãã®ç¶æ³ã«ééããå Žåã®å¯ŸåŠæ¹æ³ã®è©³çŽ°ãæäŸããŠããéããããã§ã©ã³ã¿ã€ã ãå€æŽããå¿ èŠã¯ãªããšæããŸãã ããã远跡ããããã«https://github.com/aspnet/AspNetCore.Docs/issues/13927ãæåºããŸããã
詳ãã説æããŠããã ãããããšãããããŸãã
ãããããã¥ã¡ã³ãã«è¿œå ãããšãæéãç¯çŽã§ããŸãã ã©ããããããšãïŒ
æãåèã«ãªãã³ã¡ã³ã
https://github.com/aspnet/AspNetCore/issues/8952#issuecomment -482499042ã«ã¿ã€ããã¹ããã