CURL SSL Error
본문
CURL ERRORSSL certificate problem: certificate has expired
제 웹사이트에 있는 이미지를 CURL로 긁어 오니 위와 같은 에러가 갑니다.
그런데 Sir.kr 본 웹사이트의 갤러리 이미지를 긁어 왔더니 잘 됩니다.
제 웹사이트의 certification 이 잘 못 된거 같은데, 어떻게 고쳐야 하나요?
저는 bluehost.com 의 shared hosting 을 사용하고, 거기에서 무료로 주는 SSL 을 사용합니다.
A 라는 사이트의 최신 유머글을 RSS로 B 라는 사이트에 옴기는건 성공했습니다.
그런데 이미지 파일도 복사하기 위해서 cUrl 이 필요한 것입니다.
혹시 더 편하게 복사할 수 있는 방법도 있을까요?
답변 3
CURLOPT_SSL_VERIFYPEER, CURLOPT_SSL_VERIFYHOST
옵션을 추가하는 방법이 도움이 될지 모르겠습니다.
// failure : SSL certificate problem: certificate has expired
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://domain.tld',
CURLOPT_RETURNTRANSFER => true,
]);
$result = curl_exec($ch);
if (curl_errno($ch) > 0) {
echo curl_error($ch);
}
// success
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://domain.tld',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_SSL_VERIFYHOST => 0,
]);
$result = curl_exec($ch);
if (curl_errno($ch) > 0) {
echo curl_error($ch);
}
다만 문제되는 인증서를 본인이 컨트롤 할수 있는 경우
코드추가 없이도 문제없이 동작하도록 확인 하는것이 좋을것 같습니다.
!-->다른 사이트에서 https 를 통한 접속을 허용하지 않아서 그럴 수 있을 것입니다.
고객센타에 문의해 보세요...
잘 알려 줄 것입니다.
정확하지는 않지만 여기를 참고해서 api 요청해서 사용하면 될 것도 같습니다.
블루호스트 사용하고 있지만 직접 해보지는 않았습니다.
Manage2 Authentication Methods | cPanel & WHM Documentation
Bluehost 계정에 로그인하여 SSL 인증서의 상태를 확인하십시오. 재발급 받아야 하지 않을까하네요;;