Message : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..InnerException in functionapp

Muralidhar Kumar 1 Reputation point
2022-02-10T05:49:54.38+00:00

We have an azure functionapp in which we are running powershell script to connect management.azure.com and in that powershell script we are creating a management group by taking the token using the command $AccessToken = (Get-AzAccessToken).Token.

We got the error while fetching the token. So, we have generated the token and passed it as a variable.
Still we are getting the error as below.

2022-02-08T15:57:25.057 [Information] Executing 'Functions.fnManagementGrpSubscription' (Reason='This function was programmatically called via the host APIs.', Id=63e721ff-94ba-46ea-896f-a93de90fd192)
2022-02-08T15:57:25.361 [Error] ERROR: The SSL connection could not be established, see inner exception.Exception :Type : System.Net.Http.HttpRequestExceptionTargetSite :Name : MoveNextDeclaringType : System.Net.Http.ConnectHelper+<EstablishSslConnectionAsyncCore>d__4, System.Net.Http, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMemberType : MethodModule : System.Net.Http.dllStackTrace :at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(HttpClient client, HttpRequestMessage request, Boolean keepAuthorization)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()Message : The SSL connection could not be established, see inner exception.InnerException :Type : System.IO.IOExceptionTargetSite :Name : ThrowExceptionDeclaringType : System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs, System.Net.Sockets, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMemberType : MethodModule : System.Net.Sockets.dllStackTrace :at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)at System.Net.FixedSizeReader.ReadPacketAsync(Stream transport, AsyncProtocolRequest request)at System.Net.Security.SslStream.ThrowIfExceptional()at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)at System.Net.Security.SslStream.<>c.<AuthenticateAsClientAsync>b__65_1(IAsyncResult iar)at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)--- End of stack trace from previous location where exception was thrown ---at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)Message : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..InnerException :Type : System.Net.Sockets.SocketExceptionMessage : An existing connection was forcibly closed by the remote host.SocketErrorCode : ConnectionResetErrorCode : 10054NativeErrorCode : 10054HResult : -2147467259Source : System.Net.SocketsHResult : -2146232800Source : System.Net.HttpHResult : -2146232800TargetObject : Method: POST, RequestUri: 'https://management.azure.com/providers/Microsoft.Management/checkNameAvailability?api-version=2020-05-01', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers:{Authorization: Bearer eyTvt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxJd_TJa-1meQC-ewrerr32Dwr-2FfeiwY-l_rwe-dRnRNwUser-Agent: Mozilla/5.0User-Agent: (Windows NT 10.0; Microsoft Windows 10.0.14393; en-US)User-Agent: PowerShell/7.0.7Content-Length: 104Content-Type: application/json}CategoryInfo : InvalidOperation: (Method: POST, Reque…application/json}:HttpRequestMessage) [Invoke-RestMethod], HttpRequestExceptionFullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommandErrorDetails : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..InvocationInfo :MyCommand : Invoke-RestMethodScriptLineNumber : 52OffsetInLine : 16HistoryId : 1ScriptName : C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1Line : $groupExist = (Invoke-RestMethod @Params).reasonPositionMessage : At C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1:52 char:16+ $groupExist = (Invoke-RestMethod @Params).reason+ ~~~~~~~~~~~~~~~~~~~~~~~~~PSScriptRoot : C:\home\site\wwwroot\fnManagementGrpSubscriptionPSCommandPath : C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1InvocationName : Invoke-RestMethodCommandOrigin : InternalScriptStackTrace : at <ScriptBlock>, C:\home\site\wwwroot\fnManagementGrpSubscription\run.ps1: line 52Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException : Result: ERROR: The SSL connection could not be established, see inner exception.Exception :Type : System.Net.Http.HttpRequestExceptionTargetSite :Name : MoveNextDeclaringType : System.Net.Http.ConnectHelper+<EstablishSslConnectionAsyncCore>d__4, System.Net.Http, Version=4.2.2.0, Culture=neutral, PublicKeyToken=re3tygdd50a3aMemberType : MethodModule : System.Net.Http.dllStackTrace :at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean allowHttp2, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.GetResponse(HttpClient client, HttpRequestMessage request, Boolean keepAuthorization)at Microsoft.PowerShell.Commands.WebRequestPSCmdlet.ProcessRecord()Message : The SSL connection could not be established, see inner exception.InnerException :Type : System.IO.IOExceptionTargetSite :Name : ThrowExceptionDeclaringType : System.Net.Sockets.Socket+AwaitableSocketAsyncEventArgs, System.Net.Sockets, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMemberType : MethodModule : System.Net.Sockets.dllStackTrace :at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)at System.Net.FixedSizeReader.ReadPacketAsync(Stream transport, AsyncProtocolRequest request)at System.Net.Security.SslStream.ThrowIfExceptional()at System.Net.Security.SslStream.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)at System.Net.Security.SslStream.EndProcessAuthentication(IAsyncResult result)at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)at System.Net.Security.SslStream.<>c.<AuthenticateAsClientAsync>b__65_1(IAsyncResult iar)at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)--- End of stack trace from previous location where exception was thrown ---at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)Message : Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host..InnerException :Type : System.Net.Sockets.SocketExceptionMessage : An existing connection was forcibly closed by the remote host.SocketErrorCode : ConnectionResetErrorCode : 10054NativeErrorCode : 10054HResult : -2147467259Source : System.Net.SocketsHResult : -2146232800Source : System.Net.HttpHResult : -2146232800TargetObject : Method: POST, RequestUri: 'https://management.azure.com/providers/Microsoft.Management/checkNameAvailability?api-version=2020-05-01', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers:{Authorization: Bearer

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
4,119 questions
Windows Server PowerShell
Windows Server PowerShell
Windows Server: A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.PowerShell: A family of Microsoft task automation and configuration management frameworks consisting of a command-line shell and associated scripting language.
5,322 questions
Microsoft Entra ID
Microsoft Entra ID
A Microsoft Entra identity service that provides identity management and access control capabilities. Replaces Azure Active Directory.
19,100 questions
{count} votes

3 answers

Sort by: Most helpful
  1. Rich Matheisen 44,416 Reputation points
    2022-02-10T15:20:29.21+00:00

    Perhaps you're trying to use an old version of TLS? Try adding this to your script:

    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
    
    1 person found this answer helpful.

  2. Ricky 0 Reputation points
    2023-08-13T12:10:04.0533333+00:00

    Having the same issue when trying to run some Azure Powershell commands like Get-AZWebapp. Sometimes it'll work fine, sometimes it doesn't. Using latest Powershell 7 build and Windows 11.

    0 comments No comments

  3. Rich Matheisen 44,416 Reputation points
    2023-08-13T15:20:47.8233333+00:00

    Try adding this to your script:

    [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12
    
    0 comments No comments