모든 것을 검색 한 후 원격 SSL 사용 가능 호스트에 발급 된 cURL 요청이 제 경우의 50 % 정도만 성공한 이유를 이해할 수 없습니다. 상황은 다음과 같습니다. PHP CLI를 사용하여 실행되는 단일 PHP 스크립트 내에서 HTTPS 원격 호스트에 발급 된 일련의 cURL 요청이 있습니다. 때때로 내가 요청이 성공적으로 실행하지만, 어떤 이유로 대부분의 시간 내가 그것을 실행하는 스크립트를 실행할 때 컬에서 다음과 같은 오류가 발생합니다 :cURL/PHP 요청이 시간의 50 %를 실행합니다
* 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
나는 다시 내가 같은 결과를 얻을 몇 번을 시도 할 경우, 하지만 몇 번 시도해도 요청이 성공적으로 통과됩니다. 그 후 스크립트를 다시 실행하면 오류가 발생하고 패턴이 계속됩니다. 오류 '경고 불량 녹음 Mac'을 조사해도 아무 도움이되지 않았으며 스크립트가 가끔씩 실행되기 때문에 SSL 문제에 대한 책임이 있음을 주저합니다.
저는 최신 버전의 openssl뿐만 아니라 php5 및 php5-curl이 설치된 우분투 서버 10.04입니다. cURL 특정 옵션과 관련하여 CURLOPT_SSL_VERIFYPEER는 false로 설정되고 CURLOPT_TIMEOUT 및 CURLOPT_CONNECTTIMEOUT은 모두 4 초로 설정됩니다. 이 문제를 더 자세히 설명하는 것은 Mac OS X 개발 컴퓨터에서 똑같은 상황이 발생한다는 것입니다. 요청은 시간의 50 % 만 통과합니다.
Google에 "오류 140943FC"가 표시 될 수도 있습니다. –
나를 믿어 봤습니다. 나는 심지어 작업자 스레드 버전과 (이것은 도움이되지 않았기 때문에 이미 실행 중이기 때문에) 이와 관련된 버그가 있었기 때문에 나는 작업자 스레드와 반대되는 prefork MPM에서 Apache를 실행하고 있는지 확인했습니다. – mquinn
잘못된 레코드 MAC은 네트워크 인터페이스의 MAC 주소를 참조하지 않습니다. 그것은 "메시지 인증 코드" –