我遇到了 Apache 的一个奇怪现象,几个虚拟主机在几天/几小时后停止响应。奇怪的是,其他虚拟主机继续正常工作。
一些信息:
- 该计算机正在运行 Windows Server 2008 R2 64x。
- 所有站点均运行 PHP。
- 卡住的虚拟主机都安装了 SSL 证书。(这可能是问题的链接。没有 SSL 或具有完全不同证书的站点不会卡住)
- 具有相同 ServerName 但没有 SSL 证书的 vhost 也会卡住。这些 vhost 也在同一个文件中定义。
- 发生这种情况之后的时间是随机的。
- 在 vhosts 卡住之前,它们响应正常,日志也正常 (http200)。卡住之后,根本没有日志,没有访问日志、错误日志或任何东西。
- 网络拓扑:未知。这是一个 VPS。
- 是的。使用 Apache 的 Windows 设置。我知道这很糟糕,但这是老板的选择,这违背了我对 Linux 的所有建议。抱歉 :X
如果我忘记了一些重要信息,请告诉我。我会添加它。
有问题的虚拟主机的文件内容。卡住时所有虚拟主机都停止工作(无日志、无响应):
<VirtualHost *:80>
ServerName download.websiteone.nl
Redirect permanent / https://download.websiteone.nl/
ErrorLog "C:\logs\download.websiteone.nl-reg-error.log"
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog "C:\logs\download.websiteone.nl-reg-access.log" combined
</VirtualHost>
<VirtualHost *:80>
ServerName download.websitetwo.com
Redirect permanent / https://download.websitetwo.com/
ErrorLog "C:\logs\download.websitetwo.com-reg-error.log"
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog "C:\logs\download.websitetwo.com-reg-access.log" combined
</VirtualHost>
<VirtualHost *:443>
Documentroot "C:\websiteone.NL\download.websiteone.nl"
ServerName download.websiteone.nl
Options FollowSymLinks
ErrorLog "C:\logs\download.websiteone.nl-ssl-error.log"
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog "C:\logs\download.websiteone.nl-ssl-access.log" combined
SSLEngine on
SSLProtocol all
SSLCertificateFile C:\CERTIFICATES\websiteone\cert\websiteone.nl.crt
SSLCertificateKeyFile C:\CERTIFICATES\websiteone\key\websiteone.nl.key
SSLCertificateChainFile C:\CERTIFICATES\websiteone\cert\intermediate.cer
</VirtualHost>
<VirtualHost *:443>
Documentroot "C:\websiteone.NL\download.websiteone.nl"
ServerName download.websitetwo.com
Options FollowSymLinks
ErrorLog "C:\logs\download.websitetwo.com-ssl-error.log"
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog "C:\logs\download.websitetwo.com-ssl-access.log" combined
SSLEngine on
SSLProtocol all
SSLCertificateFile C:\CERTIFICATES\websitetwo\cert\websitetwo.com.crt
SSLCertificateKeyFile C:\CERTIFICATES\websitetwo\key\websitetwo.com.key
SSLCertificateChainFile C:\CERTIFICATES\websitetwo\cert\intermediate.crt
</VirtualHost>
感谢您的输入!