CentOS 8 上的 Apache 2.4.37 无法在启用 SSL 的情况下启动

CentOS 8 上的 Apache 2.4.37 无法在启用 SSL 的情况下启动

因此,我获得了一台全新的 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

所以,没什么奇怪的。

任何帮助,将不胜感激。

相关内容