Apache没有开始,错误......
1:08:52 a.m. [Apache] Error: Apache shutdown unexpectedly.
1:08:52 a.m. [Apache] This may be due to a blocked port, missing dependencies,
1:08:52 a.m. [Apache] improper privileges, a crash, or a shutdown by another method.
1:08:52 a.m. [Apache] Press the Logs button to view error logs and check
1:08:52 a.m. [Apache] the Windows Event Viewer for more clues
1:08:52 a.m. [Apache] If you need more help, copy and post this
1:08:52 a.m. [Apache] entire log window on the forums
Apache在我之前正在使用these instructions生成自签名证书。我还使用端口443重定向更新了虚拟主机文件。
Apache日志并没有告诉我任何有用的信息,因为在尝试启动Apache时没有生成错误。我已经检查了netstat,443上没有任何内容。
编辑:我通过评论
重新启动了服务器# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf
因此,我的SSL配置中的某些内容使其无法启动。据我所知,我已在SSL配置中正确设置了证书和密钥文件。
编辑2:正在运行httpd -t
我收到错误SSLCertificateFile: file 'C:/my/xampp/location/apache/conf/ssl.crt/server.crt' does not exist or is empty
果然我创建的crt文件是空的!关键文件不是。我会尝试重新创建它。
编辑3:好的我重新创建了.crt和密钥文件,它们都有内容。 conf语法通过,但Apache不会启动。我现在可以看到错误:Certificate and private key www.example.com:443:0 from /conf/ssl.crt/server.crt and /conf/ssl.key/server.key do not match
AH00016: Configuration Failed
在设置证书时,是否必须使用通用名称,与服务器名称完全匹配?即如果虚拟主机中的服务器名称是www.example.com:443,是否必须将该端口包含在完全限定的域URL公用名中?
编辑4:看到我的配置好像现在我尝试了different tutorial并且证书似乎没问题,但我收到错误described here。 openssl x509 -in my.crt -text
表示证书末尾的奇数块。我无法理解新生成的证书是如何被破坏的。我错过了什么吗?
背景是我尝试设置Let's Encrypt为我的Win XAMPP服务器生成便携式SSL证书时出错(我在Ubuntu机器上这样做,因为它更容易使用客户端)。但我得到了#34; Correct zName not found for TLS SNI challenge“。其中一个建议是首先签署自签名证书。这促使我尝试了上述内容。
答案 0 :(得分:1)
愚蠢的错误。我在与crt文件相同的目录中有密钥文件
在默认配置中,我没有意识到每个文件都有自己的目录
config conf / ssl.crt /中的dir看起来很像conf / ssl.key /
将密钥放在自己的目录中(删除已经存在的密钥后)修复它。
奇怪的是,我看过的教程中的文件位于同一个目录中。只要你正确地链接它们,我认为这不重要。