Apache 2.2.3 / mod_ssl / CentOS 5.5 VPS
Nosso certificado expirou em 2011-10-06 e, embora aparentemente tenhamos instalado o novo corretamente, navegando até o site ainda mostra um certificado expirado! Eu já tentei excluir o cache do meu navegador e usando 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 [email protected]
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 eu tentei mover os arquivos antigos de certificados e chaves para uma pasta completamente diferente para ter certeza de que o Apache ainda não os estivesse pegando de alguma forma. Nada mudou. Por diversão, tentei temporariamente renomear os novos arquivos de certificados e chaves, e o Apache obedientemente reclamou e se recusou a iniciar.
Depois tentei me certificar de que não estava sendo enganado por editar o arquivo de configuração errado. Usando "locate" eu encontrei apenas um arquivo httpd.conf em /etc/httpd/conf/httpd.conf. Eu também usei "locate" para verificar se existe apenas um arquivo ssl.conf, /etc/httpd/conf.d/ssl.conf. O arquivo-chave é o que eu gero usando o OpenSSL, seguindo as instruções fornecidas pelo GoDaddy para gerar o CSR.
Verifiquei que estou trabalhando com o site certo fazendo o upload de um arquivo test.html para a pasta /var/www/gentlemanjoe.com e verificando se posso navegar até ele. Mas, se eu tentar visualizar o arquivo de teste em HTTPS, recebo o mesmo aviso de expiração de certificado.
Verifiquei se o certificado em si tem a data de validade 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
Eu tentei recodificar o certificado no GoDaddy com um novo CSR e tudo parece funcionar, mas obtenho o mesmo resultado no navegador.
Possível pista 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 da GoDaddy me dizem que o www x não-www não deve importar, e tenho a tendência de concordar, já que o aviso de segurança no meu navegador não é reclamando de incompatibilidade de nome de servidor, mas uma expiração , indicando que o certificado antigo ainda está sendo carregado de alguma forma.
Possível indício nº 2
O cabeçalho de resposta do HTTP Server para o link diz "Andromeda" em vez de "Apache". Isso parece estranho para mim desde que meu Google de "Andromeda" mostra um projeto de tipo servidor de mídia, que não seria instalado neste servidor (mas eu não posso dizer isso com certeza, já que eu não configurei nada disso , o administrador / desenvolvedor habitual está de férias e eu 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 ele não foi modificado para cuspir. Então, pode ser a plataforma de e-commerce Magento que ele está usando, mas qual seria o sentido de substituir o cabeçalho de resposta padrão do Apache?