gpt4 book ai didi

sql-server - 在 Linux 中添加 SSL 证书后 SQL Server 服务中断

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:57 25 4
gpt4 key购买 nike

我已经在我的 Ubuntu 16 机器上设置了一个 SQL Server 数据库服务器。为了确保它在主机网络上的安全,我正在努力在其上添加 SSL 加密证书。

我尝试按照此链接 ssl-encryption-mssql 中提到的步骤进行操作

但在重新启动 SQL Server 服务后,它会中断并给出以下退出代码状态

code=exited, status=1/FAILURE

我什至尝试使用 journalctl -u mssql-server.service -b 检查日志,但它根本没有帮助。作为引用,我在下面添加了 journalctl 命令的屏幕截图:

output of journalctl

按照官方文档中的步骤,我的 /var/opt/mssql/mssql.conf 看起来像这样。

[sqlagent]
enabled = false

[EULA]
accepteula = Y

[network]
tlscert = /etc/ssl/certs/cert.pem
tlskey = /etc/ssl/private/privkey.pem
tlsprotocols = 1.2
forceencryption = 1

EDIT-1:我进一步检查了/var/log/syslog 中的日志,它说明了以下日志-错误:49940,严重性:16,状态:1。无法打开一个或多个用户指定的证书文件。验证证书文件是否存在,并且对运行 SQL Server 的用户和组具有读取权限,并找到了这个 question这看起来很相似,我尝试了查尔斯所说的方法,但它似乎不起作用。即使我正在使用 Let's Encrypt 证书。

EDIT-2:它不是授权版本,这可能是原因吗?

如何解决这个错误?

最佳答案

即使我按照 Microsoft 文档中提到的相同步骤操作,我也遇到了同样的问题。实际问题似乎与证书文件所在文件夹路径的权限有关。

您可以使用 openssl 命令验证 mssql 用户是否能够连接。

This command will do a basic verification on whether the certificates are valid or not.

sudo su - mssql -c "openssl verify -verbose -CAfile /etc/ssl/certs/mssql_ca.pem /etc/ssl/certs/cert.pem"

If you wanted to see if the combination of certificates are actually working or not (with key), you can start a openssl server service and then connect to it with another openssl client connection.

sudo su - mssql -c "openssl s_server -accept 8443 -cert /etc/ssl/certs/cert.pem -key /etc/ssl/private/privkeyrsa.pem -CAfile /etc/ssl/certs/mssql_ca.pem"

openssl s_client -connect localhost:8443

Another small correction from the documentation (I am using CA provided certificate), had to convert the key file format (might not require for you).

openssl rsa -in /etc/ssl/private/key.pem -out /etc/ssl/private/privkeyrsa.pem

关于sql-server - 在 Linux 中添加 SSL 证书后 SQL Server 服务中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56619361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com