Итак, у меня появился новый сервер CentOS 8, и я перешел с openSUSE Leap 15.1. Конфигурация Apache в значительной степени стандартная, и я просто добавил свои собственные сайты, включенные в /etc/httpd/sites.d/
каталог.
Моя проблема в том, что httpd не запускается, когда я использую определенный самозаверяющий сертификат, который я использую на своем лабораторном сервере уже несколько лет! Я получаю ошибку AH00016: Configuration Failed
что не очень полезно (файлы журналов SSL пусты).
Без конкретного сертификата другие сайты с поддержкой SSL (которые используют другой сертификат) в порядке, и httpd запускается нормально.
Если я использую один и тот же (рабочий) сертификат для всех сайтов, httpd запускается нормально. Если я удалю другие сайты и буду использовать только этот, httpd не запустится. Если я использую один и тот же (проблемный) сертификат для всех сайтов, httpd не запускается.
Сертификат и закрытый ключ (очевидно) совпадают, так как я использую их много лет, разрешения верны, SELinux - это не проблема, и вообще я очень запутался.
Вот что я сделал до сих пор:
Проверьте соответствие сертификата и ключа:
openssl pkey -in /etc/pki/tls/private/server_ukey.pem -pubout -outform pem | sha256sum
6bb8de59f3527df9b5cf25a4e52e5ae42682399d795a439d0ba57ee67c8bc4b7 -
openssl x509 -in /etc/pki/tls/certs/server_cert.pem -pubkey -noout -outform pem | sha256sum
6bb8de59f3527df9b5cf25a4e52e5ae42682399d795a439d0ba57ee67c8bc4b7 -
Итак, они совпадают.
Проверьте разрешения:
ls -lrt /etc/pki/tls/certs/server_cert.pem
-rw-r--r--. 1 root apache 1590 Feb 1 07:55 /etc/pki/tls/certs/server_cert.pem
ls -lrt /etc/pki/tls/private/server_ukey.pem
-rw-r-----. 1 root apache 887 Feb 1 07:55 /etc/pki/tls/private/server_ukey.pem
Обратите внимание, что даже с разрешениями 600 сообщение об ошибке точно такое же!
Проверьте, нет ли синтаксической ошибки:
httpd -t
Syntax OK
Проверьте конфигурацию виртуальных хостов:
httpd -t -D DUMP_VHOSTS
10.0.0.1:80 is a NameVirtualHost
default server server.example.com (/etc/httpd/conf.d/_default_80.conf:2)
port 80 namevhost server.example.com (/etc/httpd/conf.d/_default_80.conf:2)
alias server
port 80 namevhost admin.news.example.com (/etc/httpd/sites.d/002-admin.f1.example.com.conf:1)
port 80 namevhost mysql.example.com (/etc/httpd/sites.d/003-mysql.example.com.conf:1)
port 80 namevhost phpipam.example.com (/etc/httpd/sites.d/005-phpipam.example.com.conf:1)
port 80 namevhost trd.example.com (/etc/httpd/sites.d/006-trd.example.com.conf:4)
alias trd
*:443 is a NameVirtualHost
default server server.example.com (/etc/httpd/conf.d/ssl.conf:40)
port 443 namevhost server.example.com (/etc/httpd/conf.d/ssl.conf:40)
port 443 namevhost trd.example.com (/etc/httpd/vhosts.d/006-trd.example.com.conf:19)
alias trd
Так что ничего странного.
Любая помощь будет оценена.