Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
PJ483
New Member

Power BI Report Server - An existing connection was forcibly closed by the remote host

We have a couple of servers running Power BI Report Server (May 2023) which are reporting the following error when accessing "Power BI Reports" but not for "Paginated Reports", which are working fine:

 

2023-09-13 19:58:06.7410|ERROR|70|OData exception occurred: System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- End of inner exception stack trace ---
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest, Boolean renegotiation)
at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size)
at System.Net.ConnectStream.WriteHeaders(Boolean async)
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.GetResponse()
at Microsoft.ReportingServices.Portal.ODataWebApi.Utils.PbixReportHelper.ShouldReShred(PowerBIReport entity, Uri basePortalUrl, ILogger logger, IPrincipal userPrincipal, String reportServerHostName)
at Microsoft.ReportingServices.Portal.ODataWebApi.Common.CatalogItemControllerHelper`1.GetItem(String key)
at Microsoft.ReportingServices.Portal.ODataWebApi.Common.CatalogItemControllerHelper`1.GetAllowedActions(String Id)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__6.MoveNext().| RequestID = s_b5bd1649-a27a-45d5-a23c-29134e2cc2c9

For info, when looking at a Fiddler session, I noted that the "AllowedActions" call which is called before the failing report is also erroring. This call is:

 

https://webserver/Reports/api/v2.0/CatalogItems(Path=%27/Folder/Subfolder/Report%20Name%27)/AllowedA...

 

and it returns:

 

{
"error": {
"code": "0",
"message": ""
}
}

 

The only recent changes to the server relate to enabling HTTPS on the co-hosted MDS website, although I'm unsure if that's related since that runs under IIS.

 

Does anyone have any ideas? Thanks.

 

Server: Windows Server 2019
Database: SQL Server 2019
Power BI Server: May 2023

1 ACCEPTED SOLUTION
PJ483
New Member

This turned out to be a niche problem but I'll post the solution here in case anyone else is caught out by it.

In the Report Server Configuration Manager, a colleague (no it wasn't me!) changed the "Report Server HTTPS Binding" from:

  • IP Address: (All IPv4)

to:

  • IP Address: [default IP address for the server] - note that it has 2 (one for SSRS HTTPS and one for IIS HTTPS)

This is what caused the problem. We don't know why SSRS would behave in this why by restricting the IP Address binding but clearly it does. Setting it back to "(All IPv4)" fixed the issue immediately. If anyone has any insight, I'd love to hear it.

View solution in original post

1 REPLY 1
PJ483
New Member

This turned out to be a niche problem but I'll post the solution here in case anyone else is caught out by it.

In the Report Server Configuration Manager, a colleague (no it wasn't me!) changed the "Report Server HTTPS Binding" from:

  • IP Address: (All IPv4)

to:

  • IP Address: [default IP address for the server] - note that it has 2 (one for SSRS HTTPS and one for IIS HTTPS)

This is what caused the problem. We don't know why SSRS would behave in this why by restricting the IP Address binding but clearly it does. Setting it back to "(All IPv4)" fixed the issue immediately. If anyone has any insight, I'd love to hear it.

Helpful resources

Announcements
August Power BI Update Carousel

Power BI Monthly Update - August 2025

Check out the August 2025 Power BI update to learn about new features.

August 2025 community update carousel

Fabric Community Update - August 2025

Find out what's new and trending in the Fabric community.