PHP CURL OPT_SSL_VERIFYPEER 무시
HTTPS에서는 CURL을 사용할 수 없습니다.CURL 라이브러리의 업그레이드를 실행할 때까지 모든 것이 정상적으로 동작하고 있었습니다.CURL 요청을 실행하려고 하면 다음과 같은 응답이 발생합니다.SSL CA 증명서 문제(패스?액세스 권한)
관련 문제에 대해 여기에 게재된 다음 제안사항을 따르려고 합니다.
호스트 및 피어 확인 사용 안 함
curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);
가능하게 하다
CURLOPT_SSL_VERIFYPEER
http://curl.haxx.se/docs/caextract.html 에서 다운로드 받은 cacert.pem 을 가리킵니다.curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");
접속하는 서버의 번들 CA 증명서로서 제공된 positiveSSL.ca-timeout에서도 같은 처리를 시도했습니다.
php ini 설정 편집 방법
curl.cainfo=cacert.pem
(같은 디렉토리에 있는 파일로 Apache로 액세스 가능)이름 바꾸기
/etc/pki/nssdb
로./etc/pki/nssdb.old
유감스럽게도 위의 어느 것도 문제를 해결할 수 없으며 SSL CA cert(path?access rights?) 메시지에 문제가 계속 표시됩니다.
또, 이 검증은 처음부터 필요 없습니다(시큐러티상의 문제는 알고 있습니다).
다른 의견 있으신가요?
갱신하다
최신 라이브러리로 갱신하고 박스 전체를 재기동한 결과, 제가 하고 있던 apache뿐만 아니라, 다시 동작하고 있는 것 같습니다!!!
설명서에 따르면 호스트 증명서 또는 피어 증명서를 확인하려면 다음 명령을 사용하여 대체 증명서를 지정해야 합니다.CURLOPT_CAINFO
옵션 또는 증명서 디렉토리를 지정할 수 있습니다.CURLOPT_CAPATH
선택.
또,CURLOPT_SSL_VERIFYHOST:
- 1: SSL 피어 증명서에 공통명이 존재하는지 확인합니다.
- 2: 공통 이름의 존재 및 지정된 호스트 이름과 일치하는지 확인합니다.
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
센트에서 같은 문제가 발생했습니다.OS7 머신디세블화VERIFYHOST
VERIFYPEER
문제를 해결하지 못했습니다.cURL 에러는 발생하지 않았지만, 응답은 여전히 유효하지 않습니다.을 하다wget
cURL과 같은 링크에 접속하면 증명서 에러가 발생합니다.
-> 또, VPS를 재기동해, 해결되어 재차 요구를 완료할 수 있었습니다.
우리에게 이것은 기억의 손상 문제인 것처럼 보였다.VPS를 재기동하면, 메모리에 라이브러리가 다시 로드되어 동작합니다.따라서 위의 솔루션이@clover
을 사용하다츠미야
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return data inplace of echoing on screen
curl_setopt($ch, CURLOPT_URL, $strURL);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); // Skip SSL Verification
$rsData = curl_exec($ch);
curl_close($ch);
return $rsData;
언급URL : https://stackoverflow.com/questions/15135834/php-curl-curlopt-ssl-verifypeer-ignored
'programing' 카테고리의 다른 글
중첩 루프 차단 (0) | 2023.01.05 |
---|---|
비어 있지 않은 폴더를 삭제/삭제하려면 어떻게 해야 합니까? (0) | 2023.01.05 |
MySQL - 열의 문자 바꾸기 (0) | 2023.01.05 |
Javascript 객체의 첫 번째 속성에 액세스하는 방법은 무엇입니까? (0) | 2023.01.05 |
값별 배열 복사 (0) | 2023.01.05 |