RavenDB 5.3.102 问题安装错误和 Lets Encrypt 错误
RavenDB 5.3.102 Issue Errors with installation and Lets Encrypt bug
我曾尝试以安全模式在 Win 2012R2 服务器上安装 RavenDB 5,但未成功,但是,在故障排除时收到 Raven 文档中没有的错误消息。我看到了类似的错误并应用了他们的所有建议 - 他们指责端口号被防火墙阻止(完全禁用防火墙 - 所以运气不好)或 IP 地址绑定(当我在不安全模式下设置它时,它工作正常 - 所以运气不好那里)。
我使用的是下载版免费社区版。我想可能是 Windows Server 2012R2 不支持 TLS1.2 或者存在配置问题
这是消息
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.******.ravendb.community:60443
---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Authentication failed because the remote party sent a TLS alert: 'HandshakeFailure'.
---> System.ComponentModel.Win32Exception (0x80090326): The message received was unexpected or badly formatted.
--- End of inner exception stack trace ---
除了完全禁用 WinServer 中的防火墙(尝试打开每个可能有问题的端口,包括 60443、38888、8080(我知道,它不在那里,但是)、80、443,但那没有任何作用,所以我禁用防火墙(错误形式 - 是的,我知道)。
由于我在 IIS 上使用 Let's Encrypt 用于其他几个具有其他端口#s 的站点,并且自动续订没有任何问题,我认为这可能是 Kestrel 配置问题(因此对此进行调查)。此错误的歧义性:HandshakeFailure 可能意味着数百种不同的事物,因此很难确定是什么。
看起来 RavenDB 是 运行 模拟“无法模拟 运行 服务器”,也许这是他们的错误(也许 LetsEncrypt 无法识别模拟?)。
任何人,在开始使用这个数据库(它有好评如潮)并转向另一个 NoSQL 数据库(如 FoundationDB 或 CouchDB)之前,我很想弄清楚如何保护它。它在非安全模式下工作正常!
有什么想法吗?
问题是 Windows Server 2012R2 缺少 RavenDB 所需的密码。
要解决此问题,请确保启用了 TLS 1.2 并添加以下密码:
您可以使用 IIS Crypto 添加密码,请参阅:
事实证明,Windows Server 2012R2 未附带以下密码套件:
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
因此,无法在 Windows 2012R2 服务器上使用 Let's Encrypt(为 RavenDB 配置)。
我曾尝试以安全模式在 Win 2012R2 服务器上安装 RavenDB 5,但未成功,但是,在故障排除时收到 Raven 文档中没有的错误消息。我看到了类似的错误并应用了他们的所有建议 - 他们指责端口号被防火墙阻止(完全禁用防火墙 - 所以运气不好)或 IP 地址绑定(当我在不安全模式下设置它时,它工作正常 - 所以运气不好那里)。 我使用的是下载版免费社区版。我想可能是 Windows Server 2012R2 不支持 TLS1.2 或者存在配置问题
这是消息
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.******.ravendb.community:60443
---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception.
---> System.Security.Authentication.AuthenticationException: Authentication failed because the remote party sent a TLS alert: 'HandshakeFailure'.
---> System.ComponentModel.Win32Exception (0x80090326): The message received was unexpected or badly formatted.
--- End of inner exception stack trace ---
除了完全禁用 WinServer 中的防火墙(尝试打开每个可能有问题的端口,包括 60443、38888、8080(我知道,它不在那里,但是)、80、443,但那没有任何作用,所以我禁用防火墙(错误形式 - 是的,我知道)。
由于我在 IIS 上使用 Let's Encrypt 用于其他几个具有其他端口#s 的站点,并且自动续订没有任何问题,我认为这可能是 Kestrel 配置问题(因此对此进行调查)。此错误的歧义性:HandshakeFailure 可能意味着数百种不同的事物,因此很难确定是什么。
看起来 RavenDB 是 运行 模拟“无法模拟 运行 服务器”,也许这是他们的错误(也许 LetsEncrypt 无法识别模拟?)。
任何人,在开始使用这个数据库(它有好评如潮)并转向另一个 NoSQL 数据库(如 FoundationDB 或 CouchDB)之前,我很想弄清楚如何保护它。它在非安全模式下工作正常!
有什么想法吗?
问题是 Windows Server 2012R2 缺少 RavenDB 所需的密码。
要解决此问题,请确保启用了 TLS 1.2 并添加以下密码:
您可以使用 IIS Crypto 添加密码,请参阅:
事实证明,Windows Server 2012R2 未附带以下密码套件:
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
因此,无法在 Windows 2012R2 服务器上使用 Let's Encrypt(为 RavenDB 配置)。