Después de buscar por todas partes, no puedo entender por qué las solicitudes cURL emitidas a un host remoto habilitado para SSL tienen éxito solo el 50% del tiempo en mi caso. Esta es la situación: tengo una secuencia de solicitudes CURL, todas emitidas para un host remoto HTTPS, dentro de un único script PHP que ejecuto usando la CLI de PHP. De vez en cuando al ejecutar el script de las peticiones se ejecutan con éxito, pero por alguna razón la mayoría de las veces que lo dirige me sale el siguiente error de CURL:La solicitud cURL/PHP ejecuta el 50% del tiempo
* About to connect() to www.virginia.edu port 443 (#0)
* Trying 128.143.22.36... * connected
* Connected to www.virginia.edu (128.143.22.36) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac
* Closing connection #0
Si lo intento de nuevo un par de veces me sale el mismo resultado, pero luego de unos pocos intentos las solicitudes se llevarán a cabo con éxito. Ejecutar el script después de eso nuevamente genera un error y el patrón continúa. Investigar el error 'alert bad macr record' no me sirvió de nada, y dudo en culparlo de un problema de SSL ya que el script aún se ejecuta ocasionalmente.
Estoy en Ubuntu Server 10.04, con php5 y php5-curl instalados, así como la última versión de openssl. En términos de opciones específicas de cURL, CURLOPT_SSL_VERIFYPEER se establece en falso, y tanto CURLOPT_TIMEOUT como CURLOPT_CONNECTTIMEOUT se establecen en 4 segundos. Un ejemplo más de este problema es el hecho de que la misma situación exacta ocurre en mi máquina de desarrollo Mac OS X - las solicitudes solo pasan ~ 50% del tiempo.
Es posible que desee buscar en Google "Error 140943FC" –
créanme, lo hice. Incluso revisé para asegurarme de que estaba ejecutando Apache en prefork MPM a diferencia de los subprocesos de trabajo ya que aparentemente hay un error relacionado con esto causado por la versión de los hilos de trabajo (ya estoy ejecutando prefork así que no ayudó). – mquinn
Mala grabación MAC no se refiere a la dirección MAC de la interfaz de red. Se refiere a un problema con el "Código de autenticación de mensajes" –