LetsEncrypt для SQL Server в Linux
Я нашел информацию о
- как установить LetsEncrypt на Linux для NGINX (который работает)
- как установить LetsEncrypt для SQL Server в Windows (которая использует инструменты с графическим интерфейсом, поэтому она бесполезна), и
- как установить другие сертификаты для SQL Server в Linux
но я не могу найти ничего о LetsEncrypt для SQL Server в Linux. Независимо от того, что я пытаюсь, я получаю это сообщение об ошибке: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 имеют соответствующие разрешения. Я скопировал и переименовал их, и на них указывают ключи tlscert и tlskey в сетевом разделе /var/opt/mssql/mssql.conf.
[network]
tlscert = /etc/ssl/certs/mssql.pem
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2
forceencryption = 1
Мне не совсем ясно, нужно ли извлекать закрытый ключ Letsencrypt в формате.pem в файл.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, и которые работают для него.
1 ответ
Перефразировано из конфигурации SSL MariaDB - с помощью сертификата Let's Encrypt
Ключ имеет неправильный формат и может быть преобразован с помощью openssl в другой формат.
openssl rsa -in ./privkey.pem -out ./privkeyrsa.pem
И после настройки прав (0400) и владения этим файлом (mysql:mysql) SSL работает как нужно. (и, конечно, строка конфигурации, указывающая на правильный сертификат)