Apache semble utiliser un ancien certificate expiré même si un nouveau est installé

Apache 2.2.3 / mod_ssl / CentOS 5.5 VPS

Notre certificate a expiré le 2011-10-06, et même si nous avons apparemment installé le nouveau correctement, la navigation sur le site affiche encore un certificate expiré! J'ai essayé de supprimer le cache de mon browser et d'utiliser plusieurs browsers différents. Lignes pertinentes du file ssl.conf (j'ai exclu celles qui ont été commentées):

Listen 127.0.0.1:443 SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000) SSLSessionCacheTimeout 300 # Note - I sortinged 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> 

Les choses que j'ai vérifiées

D'abord, j'ai essayé de déplacer l'ancien cert et les files keys vers un dossier complètement différent pour s'assurer que Apache ne les saisissait pas encore. Rien n'a changé. Pour le plaisir, j'ai essayé de renommer temporairement les nouveaux files de cert et de keys, et Apache se plaignait avec diligence et refusait de commencer.

Ensuite, j'ai essayé de m'assurer de ne pas être trompé en éditant le mauvais file de configuration. En utilisant "locate", je n'ai trouvé qu'un seul file httpd.conf dans /etc/httpd/conf/httpd.conf. J'ai également utilisé "locate" pour vérifier qu'il n'y a qu'un seul file ssl.conf, /etc/httpd/conf.d/ssl.conf. Le file key est ce que j'ai généré en utilisant OpenSSL, en suivant les instructions que GoDaddy a données pour générer le CSR.

J'ai vérifié que je travaille avec le bon site en téléchargeant un file test.html dans le dossier /var/www/gentlemanjoe.com et en vérifiant que je peux y accéder. Mais si j'essaie de voir le file de test dans HTTPS, je reçois le même avertissement d'expiration du certificate.

J'ai vérifié que le cert lui-même avait la date d'expiration appropriée:

 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://certificatees.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 

J'ai essayé de retaper le cert chez GoDaddy avec une nouvelle RSE et tout semble fonctionner, mais j'ai le même résultat dans le browser.

Clé possible n ° 1

Chaque fois que je fais "apachectl restart", je le vois dans le file 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 certificatee 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 

Les techniciens de GoDaddy me disent que le www vs non-www ne devrait pas être important, et j'ai tendance à convenir, puisque l'avertissement de security dans mon browser ne se plaint pas d'une incompatibilité du nom du server, mais plutôt d'une expiration , indiquant que l'ancien certificate est encore étant chargé en quelque sorte.

Clé possible # 2

L'en-tête de réponse HTTP Server pour http://gentlemanjoe.com dit "Andromeda" plutôt que "Apache". Cela me paraît étrange puisque mon Googling de "Andromeda" se transforme en un projet de type media-server, qui ne serait pas installé sur ce server (mais je ne peux pas le dire avec certitude depuis que je ne l'ai pas réglé , l'administrateur / développeur habituel est en vacances et j'aide simplement un ami avec son site.) De plus, le file httpd.conf ne contient pas la string "Andromeda" indiquant qu'il n'a pas été modifié pour cracher cela. Donc, ce pourrait être la plate-forme Magento e-commerce qu'il utilise, mais quel serait le but de replace l'en-tête de réponse Apache standard?

2 Solutions collect form web for “Apache semble utiliser un ancien certificate expiré même si un nouveau est installé”

Quelque chose se passe devant Apache. Vérifiez que config:

 Listen 127.0.0.1:443 .... <VirtualHost 127.0.0.1:443> 

Il écoute uniquement sur localhost, de sorte que les clients d'Internet ne frappent pas directement ce service, ils sont susceptibles d'être proxiés.

Pour la vérification de la sérénité, vérifiez que le chargement d'Apache dans le certi de droite soit directement au service directement sur l'auditeur d'Apache: openssl s_client -connect 127.0.0.1:443 -showcerts

Pas sûr de l'en-tête d'Andromeda, alors, retrouvons le process: lsof -i .

Apache aura 127.0.0.1:443 , tandis qu'un autre service a 0.0.0.0:443 (ou l'adresse publique du VPS :443 ) – c'est celui qui a besoin du nouveau cert.

Une source commune de ce problème est l'exécution multiple d'instances d'Apache. Les modifications de configuration sont récupérées par un process que vous (re) démarrez, mais la requête est servie par un ancien process en cours d'exécution avec une ancienne configuration.

Arrêtez le service:

 service apache2 stop 

Vérifiez si le site est toujours accessible. Si oui, vous avez identifié la cause.

Maintenant, courez

 ps aux | grep apache 

Il vous donnera la list du process apache2 en cours d'exécution et de leurs PID. Tuez-les tous (Notez que cette command peut également renvoyer des process indépendants avec Apache dans leur nom / user, etc. comme Apache Tomcat, vous ne voulez peut-être pas les tuer.)

 kill <pid> 

Exécutez ps aux à nouveau et assurez-vous que les process ne fonctionnent plus.

Vérifiez à nouveau si le site est accessible. Il ne devrait pas l'être.

Maintenant, démarrez le service apache

 service apache2 start 

Vérifiez que le nouveau certificate est diffusé.

Si vous ne souhaitez pas tuer les process, vous pouvez redémarrer le système. Il aura le même effet.

  • Configuration Nginx, 443 ouverte mais pas de réponse sur https: //
  • Un certificate SSL pour 3 controllers de domaine
  • Extraire la key du magasin de keys JKS à utiliser avec apache2 et tomcat
  • Comment générer un certificate SSL autonome lié à l'adresse IP?
  • MySQL et SSL avec -sha256
  • Pourquoi ne puis-je pas utiliser les certificates SSL importés via Server Admin dans une installation personnalisée d'Apache?
  • Comment activer SSL sur ubuntu apache2 ec2 instance correctement?
  • Exchange ActiveSync ne fonctionne pas avec le paramètre 'Vérifier le certificate' de Android, que dois-je faire pour les faire fonctionner set?
  • Pourquoi PHP Composer possède-t-il des certificates CA dans son file d'installation?
  • Le redémarrage de Nginx continue de poser une phrase passive PEM
  • Firefox sec_error_unknown_issuer après renouvellement du certificate CA racine
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.