Hello everyone,
I'm currently experimenting with the Devolutions Server via Docker in a test environment.
So far, the environment is running smoothly and without errors via the WebUI with version 2026.1.7.0.
The DPSMain_xxx log appears to be error-free.
However, I am unable to establish a connection from an RDM to the Devolutions Server.
The connection does not work on Windows, macOS, or iPadOS.
In Windows RDM 2026.1.12.0, I receive this error message:
System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Cannot determine the frame size or a corrupted frame was received.
at System.Net.Security.SslStream.GetFrameSize(ReadOnlySpan`1 buffer)
at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
at System.Net.Security.SslStream.ReceiveHandshakeFrameAsync[TIOAdapter](CancellationToken cancellationToken)
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 stream, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at Devolutions.Server.ApiWrapper.RDMSWebClient.RunSynchronous[T](Task`1 task)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.ExecuteAnonymousAction[T](Func`2 action)
at Devolutions.RemoteDesktopManager.Business.DataSources.RDMSWebApiClient.GetPublicWebInstanceInformation()
On macOS RDM 2025.3.10.2, I get this message:
Ungültige Protokollversion
net_auth_SSPI
net_http_ssl_connection_failed
I've already imported my license. Unfortunately, it didn't work.
I also tried two different proxies. No luck.
My docker-compose.yaml follows these instructions:
https://docs.devolutions.net/server/kb/how-to-articles/devolutions-server-docker-deployment/advanced-docker-configuration/#reverse-proxy-configuration
After doing a bit of searching, I found the EXTERNAL_URL environment variable. Once I added this to my docker-compose file, the RDMs (Windows, macOS, and iPadOS) were able to connect to the Devolutions server.
Here's my test Docker Compose file. As I said, I'm still testing it out / playing around with it ;-)
environment:
# Database connection variables
# Web server configuration
HOSTNAME: dvls.domain.tld
WEB_SCHEME: http
PORT: 5000
EXTERNAL_WEB_SCHEME: https
EXTERNAL_WEB_PORT: 443
EXTERNAL_URL: dvls.domain.tld
# TLS certificate configuration
# Operating mode configuration
DVLS_INIT: false
#DVLS_UPDATE_MODE: ${DVLS_UPDATE_MODE}
#DVLS_BACKUP_PATH: ${DVLS_BACKUP_PATH}
# Initialization mode variables
# System configuration
DVLS_PATH: /opt/devolutions/dvls
#DVLS_TELEMETRY: ${DVLS_TELEMETRY}
#DVLS_ENCRYPTION_CONFIG_B64: ${DVLS_ENCRYPTION_CONFIG_B64}
Could it be that this environment variable is missing from the documentation?
Thanks in advance,
Alex