OSX 10.10에서 SSLRead() 오류로 인해 HTTPS URL에 대한 Curl POST가 실패하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-02 22:57:30
원래의
1006명이 탐색했습니다.

Why Does My Curl POST to HTTPS URL Fail with SSLRead() Error on OSX 10.10?

OSX 10.10 Curl POST에서 HTTPS URL로 SSLRead() 오류를 반환함

이 문제는 PHP가 Apple의 cURL 버전을 사용하는 cURL 버전으로 컴파일될 때 발생합니다. Yosemite의 보안 전송 및 대상 HTTPS URL에는 POODLE 취약점으로 인해 취해진 조치인 SSLv3 지원이 부족합니다.

이것이 실제로 원인인지 확인하려면 다음 명령을 실행하십시오.

$ php -i | grep "SSL Version"
로그인 후 복사

다음과 같은 결과가 나타날 수 있습니다.

SSL Version => SecureTransport
로그인 후 복사

문제를 해결하려면 SecureTransport 대신 OpenSSL을 활용하는 cURL 버전을 사용하는 PHP 버전을 설치하세요. Homebrew를 사용하면 이 작업을 원활하게 수행할 수 있습니다.

  1. Homebrew가 아직 설치되어 있지 않은 경우 설치하세요. 업데이트하고 최신 XCode 명령줄 도구를 사용하여 XCode 6.1 이상이 있는지 확인하세요.
  2. Homebrew 저장소를 탭하세요:

    • $ Brew Tap homebrew/dupes
    • $ Brew tap homebrew/versions
    • $ Brew Tap homebrew/php
  3. OpenSSL로 컬 설치:

    • $ Brew install --with-openssl 컬
  4. 새로 설치된 openssl 컬을 사용하여 PHP 설치 :

    • $ Brew install --with-homebrew-curl --with-httpd24 php55
    • 해당되는 경우 httpd24를 Apache 버전으로 바꾸세요.
  5. Apache/Nginx 구성:

    • Apache: LoadModule 추가 php5_module /usr/local/opt/php55/libexec/apache2 /libphp5.so를 httpd.conf에 복사하고 Apache를 다시 시작하세요.
    • Nginx(Caveat):

      • fpm 시작:

        • mkdir -p ~/Library/LaunchAgents
        • cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
        • launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
  6. 필요한 PHP 확장 설치, 예: $ Brew install php55-mcrypt.
  7. php -i | 변경 사항을 확인하는 grep "SSL Version" 명령:

    • SSL Version => OpenSSL/1.0.2h

이 단계를 실행하면 SSLRead() 오류가 더 이상 지속되지 않습니다.

위 내용은 OSX 10.10에서 SSLRead() 오류로 인해 HTTPS URL에 대한 Curl POST가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿