You are viewing limited content. For full access, please sign in.

Question

Question

Failing to login to forms

asked on July 27, 2021

Hi,

After configuring laserfiche installation and trying to access forms, We get the error posted below kindly assist.

 

Server Error in '/LFDSSTS' Application.

An existing connection was forcibly closed by the remote host

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

Source Error:
 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Stack Trace:
 

[SocketException (0x2746): An existing connection was forcibly closed by the remote host]
   System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags) +124
   System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +142

[IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.]
   System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size) +808
   System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count) +48
   System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) +151
   System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest) +357
   System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) +203
   System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) +827
   System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) +367
   System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) +20
   System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) +77
   System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result) +1135
   System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) +60
   System.Net.PooledStream.Write(Byte[] buffer, Int32 offset, Int32 size) +120
   System.Net.ConnectStream.WriteHeaders(Boolean async) +487

[WebException: The underlying connection was closed: An unexpected error occurred on a send.]
   System.Net.HttpWebRequest.GetResponse() +1539
   Laserfiche.LicenseManager.LMO.WebUtils.SendRequest(String verb, Uri uri, JsonSerializer serializer, Object data, Dictionary`2 headers) +328
   Laserfiche.LicenseManager.LMO.Server.TestConnection() +93
   WebSTS.LFDS.Services.LMObjects.LMOConnectionService.GetServerConnection(String fqdn, Boolean useSSL, Boolean altService) +55
   WebSTS.LFDS.Services.Login.LFDSLoginManager.GetLoginConfigData(UrlData urlData) +424
   WebSTS.LFDS.Controllers.HomeController.GetLoginConfigDataFromRawUrl(String url) +180
   WebSTS.LFDS.Controllers.HomeController.Login(String originalPathAndQuery) +357
   lambda_method(Closure , ControllerBase , Object[] ) +139
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +1176
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +1352
   System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +40
   System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +77
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +43
   System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72
   System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +396
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +43
   System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +30
   System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +188
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +39
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +32
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +73
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +39
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +46
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +73
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +39
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +651
   System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +220
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +134
0 0

Answer

SELECTED ANSWER
replied on July 27, 2021 Show version history

Hi Reneilwe,

This is a TLS/certificate issue. If LFDS and LFDSSTS are version 10.4 or higher and on the same machine:

  1. On the server, open file Explorer and navigate to "C:\Program Files\Laserfiche\Directory Server\Web\WebSTS\"
  2. Launch "\STSEndpointUtility.exe"
  3. Under "HTTPS Configuration", uncheck "Use TLS"
  4. Save
  5. In IIS, recycle the LicenseManagerSTSAppPool to make the changes take effect

 

Note to future readers:

Never do this for an STS instance on a different machine than LFDS. Fix the underlying certificate configuration/validity issue instead.

Disabling HTTPS/TLS between LFDS and STS in the "same server" scenario is generally acceptable because when both components are on the same machine the communication between them never goes over the network. If an attacker has compromised the server itself and TLS is enabled, they likely have access to the certificate necessary to decrypt the messages anyway so you're not gaining much of an actual security benefit from TLS.

3 0
replied on July 28, 2021

Thank you Samuel, this worked.

1 0
replied on July 28, 2021

That is what I have been thinking all this time, why use encryption without network traffic. This box checks itself by default and keeps re-checking itself overtime though.

Where we need this option is on the Laserfiche Server service. That is a service which clients connect to over the network. I know about the registry hack but it doesn't work very well, still allowing non-secure connections.

0 0

Replies

replied on July 27, 2021

Is your forms server, directory server, and sts server all on the same operating system?

0 0
You are not allowed to follow up in this post.

Sign in to reply to this post.