我有一个ASP.NET Core 7 MVC应用程序。它使用ASP.NET Core Web API。当API和UI都从Visual Studio 2022运行时,应用程序运行正常。
如果我使用“无托管代码”应用程序池将UI或UI和API部署到IIS,则应用程序将引发错误
无法建立SSL连接,请参阅内部异常System.Security.Authentication.AuthenticationException:由于证书链中的错误,远程证书无效:UntrustedRoot at System.Net.Security.SslStream.CompleteHandshake(SslAuthenticationOptions sslAuthenticationOptions)at System.Net.Security.SslStream.ForceAuthenticationAsync[TIOAdapter](Boolean receiveFirst,Byte[] reAuthenticationData,CancellationToken cancellationToken)at System.Net.Http.ConnectHelper.EstablishSslConnectionAsync(SslClientAuthenticationOptions sslOptions,HttpRequestMessage request,Boolean async,Stream,CancellationToken cancellationToken)
有人能帮我解决这个问题吗?
2条答案
按热度按时间u5rb5r591#
上面的错误消息表明SSL证书验证有问题,您的应用程序使用的SSL证书无法识别为有效,因为它是由不受信任的证书颁发机构(CA)签署的。
如果您使用的是自签名证书,但在本地计算机上遇到SSL验证问题,可能是因为默认情况下该证书不受信任。若要解决此问题,您需要手动将自签名证书添加到本地计算机上的受信任根证书颁发机构存储中。您可以尝试以下步骤:
参考链接:Adding the self-signed certificate as trusted
jvlzgdj92#
在IIS上的默认网站内部部署时不起作用。我创建了一个新的自签名证书,在根目录上部署了API和UI,作为一个新网站,为两个应用程序提供不同的端口。在两个应用程序上使用新创建的自签名证书启用https,并且它工作正常。