我的apache conf有一点问题。 当我读取错误日志时,我可以看到:
[client xxx.xxx.xx.xx] AH01964: Connection to child 1 established (server www.mywebsite.com:443) [client xxx.xxx.xx.xx] AH01964: Connection to child 6 established (server www.mywebsite.com:443) [client xxx.xxx.xx.xx] AH01964: Connection to child 10 established (server www.mywebsite.com:443) [client xxx.xxx.xx.xx] AH01964: Connection to child 15 established (server www.mywebsite.com:443) [client xxx.xxx.xx.xx] AH01964: Connection to child 18 established (server www.mywebsite.com:443) (70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed. (70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed. (70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed. (70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed. (70014)End of file found: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.
有时候,这个:
(70007)The timeout specified has expired: [client xxx.xxx.xx.xx] AH01991: SSL input filter read failed.
我其实不知道…所以我的网站是完整的HTTP,除了在HTTPS的两页。 所以这里是我的虚拟主机:
<VirtualHost *:80> ServerName mywebsite.com Redirect permanent / http://www.mywebsite.com/ </VirtualHost> <VirtualHost *:80> ServerName www.mywebsite.com ServerAlias img.mywebsite.com ServerAdmin xxx DocumentRoot /home/mywebsite/www/public <Directory /home/mywebsite/www/> Options Indexes Multiviews FollowSymlinks AllowOverride All Require all granted ErrorDocument 403 http://www.google.com/ </Directory> <Directory /home/mywebsite/www/public/resource/private/> Require all denied ErrorDocument 403 http://www.mywebsite.com/ </Directory> <Location "/robots.txt"> Require all granted </Location> LogLevel info ErrorLog ${APACHE_LOG_DIR}/mywebsite_error.log CustomLog ${APACHE_LOG_DIR}/mywebsite_access.log combined </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ServerName www.mywebsite.com DocumentRoot /home/mywebsite/www/public <Directory /home/mywebsite/www/> Options Indexes FollowSymlinks Multiviews AllowOverride all Require all granted </Directory> LogLevel info ErrorLog ${APACHE_LOG_DIR}/mywebsite_error.log CustomLog ${APACHE_LOG_DIR}/mywebsite_access.log combined SSLEngine on SSLCertificateFile ./mywebsite.crt SSLCertificateKeyFile ./mywebsite.key SSLCertificateChainFile ./intermediate.crt </VirtualHost> </IfModule>
那么,我犯了什么错误呢? 我找不到…你能帮我吗?
谢谢 :)
我读到Apache不支持基于名称的虚拟主机上的SSL,只在基于IP的虚拟主机上。 所以我改变了它:
<VirtualHost *:443>
通过:
<VirtualHost 192.168.1.1:443>
现在看来似乎有效,我不知道是不是好的解决办法,但我没有任何错误…
还有一个要求是将以下行添加到VirtualHost SSL端口443指令块的末尾
SetEnv nokeepalive ssl-unclean-shutdown
如此处所述: