繁体   English   中英

如何在针对 UBUNTU 运行的 ASP.NET Core 2.1 应用程序中设置 HTTPS 证书?

[英]How to setup the HTTPS certificate in an ASP.NET Core 2.1 application running against UBUNTU?

我有一个使用 ASP.NET Core 2.1 创建的简单 Web 应用程序,并且在调试时不断遇到 HTTPS 证书。

虽然它在 Windows 中运行良好,但由于缺乏集中式证书存储,它在 Ubuntu 中不起作用。

Hosting environment: Development
Content root path: /home/perret/Desktop/Tests/Showtime/ConsoleAppPlaygroun/WebApplicationTest
Now listening on: https://localhost:5001
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
dbug: HttpsConnectionAdapter[1]
      Failed to authenticate HTTPS connection.
System.IO.IOException: Authentication failed because the remote party has closed the transport stream.
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslStream.BeginAuthenticateAsServer(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken, AsyncCallback asyncCallback, Object asyncState)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsServerAsync>b__51_0(SslServerAuthenticationOptions arg1, CancellationToken arg2, AsyncCallback callback, Object state)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncImpl[TArg1,TArg2](Func`5 beginMethod, Func`2 endFunction, Action`1 endAction, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state, TaskCreationOptions creationOptions)
   at System.Threading.Tasks.TaskFactory.FromAsync[TArg1,TArg2](Func`5 beginMethod, Action`1 endMethod, TArg1 arg1, TArg2 arg2, Object state)
   at System.Net.Security.SslStream.AuthenticateAsServerAsync(SslServerAuthenticationOptions sslServerAuthenticationOptions, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Https.Internal.HttpsConnectionAdapter.InnerOnConnectionAsync(ConnectionAdapterContext context)

我读:

在调试时,我仍然没有看到任何指导/教程可以使用 Ubuntu 正确设置证书。

好的,自从我切换到 Manjaro 后,我设法使它工作,并且我有相关的问题需要修复,在开发证书方面,两个发行版的步骤相同。

步骤:

  • 首先安装开发自签名证书的dotnet tool install --global dotnet-dev-certsdotnet tool install --global dotnet-dev-certs

  • 然后,您需要为每个 bash 实例export PATH="$PATH:/home/{your-username}/.dotnet/tools" dotnet 工具的路径: export PATH="$PATH:/home/{your-username}/.dotnet/tools"

  • 注册开发自签名证书: dotnet dev-certs https

  • 就这样,你就可以用https调试了~~

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM