Apache 2.2.3 / mod_ssl / CentOS 5.5 VPS
Nosso certificado expirou em 06/10/2011 e, apesar de aparentemente termos instalado o novo corretamente, a navegação no site ainda mostra um certificado expirado! Tentei excluir o cache do navegador e usar vários navegadores diferentes. Linhas relevantes do arquivo ssl.conf (excluí as que foram comentadas.):
Listen 127.0.0.1:443
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
# Note - I tried disabling SSLSessionCache with the "none" setting but it didn't help.
<VirtualHost 127.0.0.1:443>
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /var/certs/gentlemanjoe.com/new2011/gentlemanjoe.com.crt
SSLCertificateKeyFile /var/certs/gentlemanjoe.com/new2011/gentlemanjoe.com.key
SSLCertificateChainFile /var/certs/gentlemanjoe.com/new2011/gd_bundle.crt
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
ServerAdmin webmaster@donotemailme.com
DocumentRoot /var/www/gentlemanjoe.com
ServerName gentlemanjoe.com
<Directory /var/www/gentlemanjoe.com>
AllowOverride All
Order deny,allow
allow from all
</Directory>
</VirtualHost>
Coisas que eu verifiquei
Primeiro, tentei mover o certificado antigo e os arquivos de chave para uma pasta completamente diferente para garantir que o Apache ainda não os estivesse pegando. Nada mudou. Por diversão, tentei renomear temporariamente o novo certificado e os arquivos de chave, e o Apache reclamou e se recusou a iniciar.
Depois, tentei me certificar de que não estava sendo enganado editando o arquivo de configuração errado. Usando "localizar", encontrei apenas um arquivo httpd.conf em /etc/httpd/conf/httpd.conf. Também usei "localizar" para verificar se há apenas um arquivo ssl.conf, /etc/httpd/conf.d/ssl.conf. O arquivo-chave é o que eu gerei usando o OpenSSL, seguindo as instruções que o GoDaddy deu para gerar o CSR.
Verifiquei que estou trabalhando com o site certo, enviando um arquivo test.html para a pasta /var/www/gentlemanjoe.com e verificando se consigo navegar nele. Mas se eu tentar visualizar o arquivo de teste em HTTPS, recebo o mesmo aviso de expiração de certificado.
Eu verifiquei que o certificado em si tem a data de vencimento correta:
openssl x509 -in /var/certs/gentlemanjoe.com/new2011/gentlemanjoe.com.crt -noout -text
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
07:e7:49:69:97:96:16
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, ST=Arizona, L=Scottsdale, O=GoDaddy.com, Inc., OU=http://certificates.godaddy.com/repository, CN=Go Daddy Secure Certification Authority/serialNumber=07969287
Validity
Not Before: Oct 21 17:37:55 2011 GMT
Not After : Oct 8 21:16:03 2013 GMT
Subject: C=CA, ST=BC, L=Burnaby, O=Diamond Bailey Consolidated Commercial Services Ltd, OU= , CN=www.gentlemanjoe.com
Tentei redigitar o certificado no GoDaddy com um novo CSR e tudo parece funcionar, mas obtenho o mesmo resultado no navegador.
Possível pista nº 1
Sempre que eu faço "apachectl restart", vejo isso no arquivo error_log:
[Fri Oct 21 18:03:33 2011] [notice] SIGHUP received. Attempting to restart
[Fri Oct 21 18:03:33 2011] [notice] Digest: generating secret for digest authentication ...
[Fri Oct 21 18:03:33 2011] [notice] Digest: done
[Fri Oct 21 18:03:33 2011] [info] APR LDAP: Built with OpenLDAP LDAP SDK
[Fri Oct 21 18:03:33 2011] [info] LDAP: SSL support available
[Fri Oct 21 18:03:33 2011] [info] Init: Seeding PRNG with 256 bytes of entropy
[Fri Oct 21 18:03:33 2011] [info] Init: Generating temporary RSA private keys (512/1024 bits)
[Fri Oct 21 18:03:33 2011] [info] Init: Generating temporary DH parameters (512/1024 bits)
[Fri Oct 21 18:03:33 2011] [info] Shared memory session cache initialised
[Fri Oct 21 18:03:33 2011] [info] Init: Initializing (virtual) servers for SSL
[Fri Oct 21 18:03:33 2011] [warn] RSA server certificate CommonName (CN) `www.gentlemanjoe.com' does NOT match server name!?
[Fri Oct 21 18:03:33 2011] [info] Server: Apache/2.2.3, Interface: mod_ssl/2.2.3, Library: OpenSSL/0.9.8e-fips-rhel5
[Fri Oct 21 18:03:34 2011] [notice] Apache/2.2.3 (CentOS) configured -- resuming normal operations
[Fri Oct 21 18:03:34 2011] [info] Server built: Aug 30 2010 12:28:40
Os técnicos do GoDaddy me dizem que o www vs não-www não deve importar, e eu concordo, pois o aviso de segurança no meu navegador não está reclamando de uma incompatibilidade de nome de servidor, mas de uma expiração , indicando que o certificado antigo ainda está sendo carregado de alguma forma.
Possível pista 2
O cabeçalho de resposta do servidor HTTP para http://gentlemanjoe.com diz "Andromeda" em vez de "Apache". Isso me parece estranho, já que meu Google de "Andromeda" exibe um projeto do tipo servidor de mídia, que não seria instalado nesse servidor (mas não posso dizer isso com certeza, pois não configurei nada disso , o administrador / desenvolvedor habitual está de férias e estou apenas ajudando um amigo com o site dele.) Além disso, o arquivo httpd.conf não contém a string "Andromeda", indicando que não foi modificado para cuspir isso. Pode ser a plataforma de comércio eletrônico Magento que ele está usando, mas qual seria o sentido de substituir o cabeçalho de resposta padrão do Apache?