cURL을 사용한 HTTPS 사이트 연결 문제: 콘텐츠 길이가 0인 문제 수정
cURL을 사용하여 HTTPS 사이트에 연결하려고 하면 다음과 같은 문제가 발생할 수 있습니다. 응답 콘텐츠 길이가 0인 문제. 이 문제는 인증서 인증 문제로 인해 자주 발생합니다. 이 문제를 해결하기 위해 취할 수 있는 단계는 다음과 같습니다.
1. cURL 인증서 파일 업데이트:
cURL은 HTTPS 인증서 인증에 오래된 파일을 사용합니다. 최신 버전은 다음에서 얻을 수 있습니다.
http://curl.haxx.se/ca/cacert.pem
서버의 디렉터리에 파일을 저장합니다.
2. 새 인증서 파일을 사용하도록 cURL 구성:
cURL 구성에서 다음 줄을 추가합니다.
curl_setopt ($curl_ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
이는 cURL이 인증을 위해 새 인증서 파일을 사용하도록 지정합니다.
3. 대체 솔루션:
또는 시스템 전체 CA 인증서 번들을 사용하도록 php.ini를 구성할 수 있습니다:
curl.cainfo=/etc/ssl/certs/ca-certificates.crt
4. 확인 비활성화 방지:
CURLOPT_VERIFYPEER 및 CURLOPT_VERIFYHOST는 중간자 공격으로부터 보호하므로 비활성화 방지하는 것이 중요합니다.
5 . Composer 패키지 사용:
보다 포괄적인 솔루션을 위해 CA 인증서를 관리하고 유효성을 보장하는 paragonie/certainty Composer 패키지 사용을 고려하십시오.
composer require paragonie/certainty:dev-master
이러한 조치를 구현하여 을 사용하면 cURL이 HTTPS 인증서를 성공적으로 인증하고 보안 게이트웨이에서 올바른 콘텐츠를 검색하는지 확인할 수 있습니다.
위 내용은 cURL HTTPS 연결에서 콘텐츠 길이가 0인 문제를 해결하는 방법: 인증서 인증 문제?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!