I have installed RavenDb on Ubuntu system (on Azure cloud) using Docker and trying to use LetsEncrypt wizard to generate the certificate. My ravendb installation is successful and this is the port setup
root@XXXX:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
64ee58cab746 ravendb/ravendb "/bin/sh -c /opt/Rav…" 6 hours ago Up 6 hours (healthy) 161/tcp, 0.0.0.0:9002->8080/tcp, 0.0.0.0:48888->38888/tcp ravendb
47b715b56482 bitnami/neo4j:latest "/app-entrypoint.sh …" 43 hours ago Up 15 hours 0.0.0.0:7473-7474->7473-7474/tcp, 0.0.0.0:7687->7687/tcp, 8756/tcp neo4j
Based on the configuration I tried to setup ravendb with following configuration,
Node Tag A HTTPS Port 9002 TCP Port 48888 IP Address / Hostname 0.0.0.0
External IP Address X.X.X.X External HTTPS Port 9002 External TCP Port 48888
;but it gives me following error PS: To debug this issue, I just opened all the ports inbound and outbound on azure VM This seems the main culprit in code below:
The SSL connection could not be established, see inner exception. ---> System.IO.IOException: The handshake failed due to an unexpected packet format.
Setting up RavenDB in Let's Encrypt security mode failed.
System.InvalidOperationException: Setting up RavenDB in Let's Encrypt security mode failed. ---> System.InvalidOperationException: Validation failed. ---> System.InvalidOperationException: Failed to simulate running the server with the supplied settings using: https://a.educosys-db.ravendb.community:9002 ---> System.InvalidOperationException: Client failed to contact webhost listening to 'https://a.educosys-db.ravendb.community:9002'.
Are you blocked by a firewall? Make sure the port is open.
Settings file:/opt/RavenDB/Server/settings.json.
IP addresses: 0.0.0.0:9002.
Response: .
---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. ---> System.IO.IOException: The handshake failed due to an unexpected packet format.
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
--- End of stack trace from previous location where exception was thrown ---
at System.Net.Security.SslState.ThrowIfExceptional()
at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result)
at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)
at System.Net.Security.SslStream.<>c.<AuthenticateAsClientAsync>b__47_1(IAsyncResult iar)
at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 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)
--- End of inner exception stack trace ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
at System.Threading.Tasks.ValueTask`1.get_Result()
at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Threading.Tasks.ValueTask`1.get_Result()
at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask`1 creationTask)
at System.Threading.Tasks.ValueTask`1.get_Result()
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.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
at Raven.Server.Commercial.SetupManager.SimulateRunningServer(X509Certificate2 serverCertificate, String serverUrl, String nodeTag, IPEndPoint[] addresses, Int32 port, String settingsPath, SetupMode setupMode, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 1966
--- End of inner exception stack trace ---
at Raven.Server.Commercial.SetupManager.SimulateRunningServer(X509Certificate2 serverCertificate, String serverUrl, String nodeTag, IPEndPoint[] addresses, Int32 port, String settingsPath, SetupMode setupMode, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 1983
at Raven.Server.Commercial.SetupManager.SimulateRunningServer(X509Certificate2 serverCertificate, String serverUrl, String nodeTag, IPEndPoint[] addresses, Int32 port, String settingsPath, SetupMode setupMode, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 1995
at Raven.Server.Commercial.SetupManager.ValidateServerCanRunWithSuppliedSettings(SetupInfo setupInfo, ServerStore serverStore, SetupMode setupMode, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 980
--- End of inner exception stack trace ---
at Raven.Server.Commercial.SetupManager.ValidateServerCanRunWithSuppliedSettings(SetupInfo setupInfo, ServerStore serverStore, SetupMode setupMode, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 984
at Raven.Server.Commercial.SetupManager.SetupLetsEncryptTask(Action`1 onProgress, SetupInfo setupInfo, ServerStore serverStore, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 475
--- End of inner exception stack trace ---
at Raven.Server.Commercial.SetupManager.SetupLetsEncryptTask(Action`1 onProgress, SetupInfo setupInfo, ServerStore serverStore, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 479
--- End of inner exception stack trace ---
at Raven.Server.Commercial.SetupManager.LogErrorAndThrow(Action`1 onProgress, SetupProgressAndResult progress, String msg, Exception e) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 649
at Raven.Server.Commercial.SetupManager.SetupLetsEncryptTask(Action`1 onProgress, SetupInfo setupInfo, ServerStore serverStore, CancellationToken token) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Commercial\SetupManager.cs:line 506
at Raven.Server.Web.System.SetupHandler.SetupLetsEncrypt() in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Web\System\SetupHandler.cs:line 650
at Raven.Server.Routing.RequestRouter.HandlePath(RequestHandlerContext reqCtx) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\Routing\RequestRouter.cs:line 189
at Raven.Server.RavenServerStartup.RequestHandler(HttpContext context) in C:\Builds\RavenDB-Stable-4.2\42034\src\Raven.Server\RavenServerStartup.cs:line 173