Apache: SSLCertificateKeyFile: файл не существует или пуст

Если Вы - DBA, одним из самых выгодных инструментов, которые я когда-либо покупал, является SQL Красного Логического элемента Toolbelt. Конкретно то, что Вы ищете, является их Средством отслеживания Зависимости SQL, которое является частью toolbelt, или можно купить его отдельно.

Я не работаю на Красный Логический элемент. Просто счастливый клиент.

33
задан 11 August 2012 в 14:20
7 ответов

Я обнаружил ошибку. Это произошло потому, что я использую сценарий для установки сертификатов, и один из выполняемых мной шагов - apache2ctl configtest . Ошибка возникла из-за этой команды, а не из-за перезапуска apache, что вводило меня в заблуждение. Поскольку я запускал команду apache2ctl как обычный пользователь, у него не было доступа к ключевым файлам и, следовательно, к сообщению об ошибке.

Facit: убедитесь, что все ваши команды apache запускаются с sudo, даже те, которые предназначены только для синтаксиса проверка ( apache2ctl ), так как им также нужен доступ к ключам.

37
ответ дан 28 November 2019 в 19:54

Неправильные разрешения, но, согласно вашему ответу, причина проблемы не в этом:

drwx - x --- 2 root www-data 4096 2012-08-07 13:02 / etc / ssl / private /

/ etc / ssl / private обычно принадлежит группе ssl-cert в системах на основе debian.

Просто заметил перманент 0710 и задаетесь вопросом, для чего его можно использовать.

0
ответ дан 28 November 2019 в 19:54

Я сделал это, и это помогло мне на CentOS 5.7

server:~ # chcon -t cert_t /etc/pki/tls/private/my.key 
server:~ # ls -laZ /etc/pki/tls/private/
6
ответ дан 28 November 2019 в 19:54

Я также получаю сообщение

SSLCertificateKeyFile: file '/path/to/file' does not exist or is empty

, в то время как / путь / к / файлу существует и имеет нужные разрешения только из-за того, что был включен SELinux и этот файл был недоступен для пользователя apache.

Похоже, это :

$ sudo ls -laZ /etc/pki/tls/certs/
drwxr-xr-x. root root system_u:object_r:cert_t:s0      .
drwxr-xr-x. root root system_u:object_r:cert_t:s0      ..
-rw-------. root root unconfined_u:object_r:cert_t:s0  this-one-works.crt
-rw-------. root root unconfined_u:object_r:admin_home_t:s0 this-one-is-unaccessable.crt

Чтобы исправить это, я запускаю sudo restorecon -Rv / etc / pki / tls / certs / - он восстановит свойство SELinux для проблемного файла.

8
ответ дан 28 November 2019 в 19:54

Я получил похожее сообщение:

SSLCertificateChainFile: файл '/opt/bitnami/apache2/conf/DigiCertCA.crt\xe2\x80\x9d' не существует или пуст

Моя проблема заключалась в том, что текстовый редактор, который я использую, помещал "правую кавычку" ascii 148 вместо обычной двойной кавычки ascii 34; используя редактор unix-типа (например, TextWrangler). вставил правильную цитату и исправил проблему.

1
ответ дан 28 November 2019 в 19:54

Нет прав для обычных пользователей в каталоге / etc / ssl / private .

Попробуйте

sudo apache2ctl configtest
1
ответ дан 3 May 2020 в 07:33

Я тоже получил это сообщение об ошибке, когда проверил синтаксис httpd:

SSLCertificateFile: файл 'C:/wamp64/bin/apache/apache2.4.46/conf/key/certificate .crt\xe2\x80\x9c' не существует или пуст

Моя проблема заключалась в "двойной кавычке", которую я вставил. Поэтому я удалил его и напечатал, после чего все заработало.

0
ответ дан 24 September 2020 в 10:54

Теги

Похожие вопросы