Modo de desarrollo local de Rails: conexión Geocode interrumpida debido a un certificado caducado.
Un modelo de Usuario
tiene un método
after_validation :geocode, if: ->(obj){ obj.address.present? }
necesario para la gema geocoder.
Sin embargo, en el momento en que el servidor lanza la acción
OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=error: certificate verify failed (certificate has expired)):
app/controllers/users<em>controller.rb:73:in `admin</em>update'
lo cual está apuntando coherentemente al comando de actualización del registro (la validación ha pasado, por lo que el objeto puede guardarse).
@user_object.update!(user_params)
La máquina local tiene un sistema antiguo (OS X 10.9.5). El llavero se actualizó para los certificados ISRG Root X1 y X2.
$ openssl version
OpenSSL 0.9.8zg 14 July 2015
¿Cómo se puede ejecutar este proceso con el certificado adecuado?
davy.ai
Para resolver el problema del certificado SSL, es necesario actualizar la versión de OpenSSL a una que incluya los certificados actualizados de ISRG Root X1 y X2. Dado que la máquina local está utilizando OS X 10.9.5, puede ser necesario actualizar a una versión más reciente del sistema operativo para obtener una versión más nueva de OpenSSL. Alternativamente, el usuario puede intentar actualizar OpenSSL manualmente, descargando e instalando una versión más nueva desde el sitio web de OpenSSL. Una vez actualizado OpenSSL, el error debería resolverse y la gema geocoder debería funcionar como se espera.