我找到了关于
- 如何在 Linux 上为 NGINX 安装 LetsEncrypt(有效)
- 如何在 Windows 上安装 LetsEncrypt for SQL Server(它依赖于 GUI 工具,所以没用),以及
- 如何在 Linux 上为 SQL Server 安装其他证书
但我在 Linux 上找不到有关 LetsEncrypt for SQL Server 的任何信息。无论我尝试什么,我都会收到此错误消息:
Error: 49940, Severity: 16, State: 1.Unable to open one or more of the user-specified certificate file(s). Verify that the certificate file(s) exist with read permissions for the user and group running SQL Server.
看来这应该是可能的,任何人都可以提供一些提示吗?[编辑]
我已验证这两个 LetsEncrypt 文件具有适当的权限。我复制并重命名了它们,它们由 /var/opt/mssql/mssql.conf 的网络部分中的 tlscert 和 tlskey 键指向。
[network]
tlscert = /etc/ssl/certs/mssql.pem
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2
forceencryption = 1
我不清楚的一件事是 .pem 格式的 Letsencrypt 私钥是否需要提取到 .key 文件中,所以我两种方式都试过了。无论哪种方式,我都会遇到相同的错误。
这些错误显示在 mssql/log/errorlog 文件中。
这是要求的结果
ls -l /etc/ssl/certs/mssql.pem:
-rw------- 1 mssql mssql 3586 May 3 22:20 /etc/ssl/certs/mssql.pem
ls -l /etc/ssl/private/mssql.key
-rw------- 1 mssql mssql 1679 May 3 22:42 /etc/ssl/private/mssql.key
mssql.pem 最初是 fullchain.pem 和 mssql.key 最初是 privkey.pem,它们是 Nginx 所需的文件并且适用于它。