Я установил RavenDb в системе Ubuntu (в Azure облаке), используя Docker и пытаясь использовать мастер LetsEncrypt для генерации сертификата. Моя установка ravendb прошла успешно, и это настройка порта
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
В зависимости от конфигурации я попытался настроить ravendb со следующей конфигурацией:
Узел Tag A HTTPS Port 9002 TCP-порт 48888 IP-адрес / Hostname 0.0.0.0
Внешний IP-адрес XXXX Внешний HTTPS-порт 9002 Внешний TCP-порт 48888
, но он выдает следующую ошибку PS: Для устранения этой проблемы я просто открыл все порты входящие и исходящие на azure VM Это кажется основным виновником приведенного ниже кода:
Не удалось установить соединение SSL, см. внутреннее исключение. ---> System.IO.IOException: рукопожатие не удалось из-за непредвиденного формата пакета.
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