Temos este Apache no Windows Server 2012:
Server version: Apache/2.4.9 (Win32)
Apache Lounge VC10 Server built: Mar 17 2014 10:48:43
Na maioria das vezes, funciona perfeitamente, mas de tempos em tempos (aleatoriamente, cca 3-4 vezes por semana), ele para de servir HTTPS na porta 443, mas continua a servir HTTP na porta 80. Quando ele deixa de servir HTTPS, a única maneira de resolver o problema é reiniciar o Apache.
Este parece ser o mesmo problema que está aqui: O Apache para de responder a requisições http - o https continua a funcionar exceto que no nosso caso é HTTPS que para de funcionar e HTTP é o que funciona o tempo todo.
Nós ativamos o nível de verbosidade do trace6 para obter boas informações sobre o que está acontecendo. No entanto, os logs estão vazios:
...
[Sat Mar 21 07:51:50.577373 2015] [ssl:debug] [pid 3356:tid 2540] ssl_engine_io.c(999): [client ...:16529] AH02001: Connection closed to child 137 with standard shutdown (server ...:443)
[Sat Mar 21 07:54:21.936742 2015] [ssl:info] [pid 4760:tid 432] AH01914: Configuring server ...:443 for SSL protocol
...
Neste log, podemos ver a última linha para o último pedido que foi servido OK às 07:51:50 e, em seguida, não há nada (o nosso sistema de monitoramento interno tenta se conectar a cada minuto e por isso deve haver 07:52 : 50 registro, mas está faltando). A próxima linha às 07:54:21 é depois que nosso sistema de monitoramento interno expirou e reiniciou o serviço Apache.
Nosso monitoramento interno está em C # e sua saída foi:
System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at ExecuteServicePageCheck(Object stateInfo)
Nosso httpd-ssl.conf se parece com isto:
<VirtualHost _default_:443>
ServerName ...:443
ServerAlias www.....com
DocumentRoot ${US_ROOTF_WWW}/.../www/www
SSLEngine On
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder on
# Prefer PFS, allow TLS, avoid SSL, for IE8 on XP still allow 3DES
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+AESGCM EECDH EDH+AESGCM EDH+aRSA HIGH !MEDIUM !LOW !aNULL !eNULL !LOW !RC4 !MD5 !EXP !PSK !SRP !DSS"
# Prevent CRIME/BREACH compression attacks
SSLCompression Off
# Commit to HTTPS only traffic for at least 180 days
Header add Strict-Transport-Security "max-age=15552000"
SSLCertificateFile ${US_ROOTF}/core/apache2/server_certs/....crt
SSLCertificateKeyFile ${US_ROOTF}/core/apache2/server_certs/....key
SSLCertificateChainFile ${US_ROOTF}/core/apache2/server_certs/....ca-bundle
CustomLog "logs/.../www/access.ssl.%Y.%m.%d.log" combined
ErrorLog "logs/.../www/error.ssl.log"
LogLevel trace6
</VirtualHost>
Existe algo mais que poderíamos fazer para obter informações sobre o que está acontecendo lá? Nós não temos nenhuma mensagem de erro do Apache em qualquer lugar, nem mesmo neste nível do trace6.
Tenha em atenção que temos mais domínios servidos em HTTP e HTTPS e o problema ocorre para todos eles em HTTPS. É como se o Apache tivesse fechado essa porta silenciosamente.