네트워크 보안에 대한 인식이 높아짐에 따라 웹 서버에 SSL 인증서 설치가 점점 더 중요 해지고 있습니다. Windows 환경에서 IIS는 일반적으로 사용되는 웹 서버입니다. PHP와 함께 웹 사이트를 개발할 때 PHP는 SSL 인증서를 설치 한 후에 외부 HTTPS 리소스를 얻지 못할 수 있습니다. 이 문제는 일반적으로 "Curl Error 60 : SSL 인증서 문제 : 로컬 발행인 인증서를받을 수 없음"과 같은 오류로 나타납니다.
IIS에 SSL 인증서를 설치 한 후 PHP가 HTTPS 리소스를 요청하면 SSL/TLS 프로토콜이 기본적으로 지원되지 않기 때문에 SSL 인증서를 확인하지 못할 수 있습니다. 이 문제를 해결하는 핵심은 PHP의 SSL 지원 및 루트 인증서 경로를 올바르게 구성하는 것입니다.
먼저 SSL 인증서 기관 웹 사이트에서 루트 인증서 파일을 다운로드하여 서버의 지정된 디렉토리로 저장해야합니다.
다음으로 PHP의 php.ini 파일을 수정하여 SSL 확장이 활성화되고 올바른 루트 인증서 경로가 구성되어 있는지 확인하십시오. php.ini 파일을 열고 다음 구성 항목을 찾아 확인하십시오.
extension=php_openssl.dll
curl.cainfo = "C:/path/to/your/cacert.pem"
여기서 "c :/path/to/your/cacert.pem"은 실제 루트 인증서 경로로 교체해야합니다.
PHP는 일반적으로 HTTP 요청에 CURL 라이브러리를 사용합니다. HTTPS 요청을 시작할 때 CURL이 SSL 인증서를 확인할 수 있도록 관련 구성이 필요합니다. 다음은 샘플 코드입니다.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com/api');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_CAINFO, 'C:/path/to/your/cacert.pem');
$result = curl_exec($ch);
curl_close($ch);
echo $result;
이 코드에서는 CURL 옵션을 구성하여 요청의 보안을 보장하여 SSL 인증서 확인을 활성화합니다.
구성이 완료되면 HTTPS 사이트를 방문하여 PHP가 데이터를 성공적으로 얻는 지 테스트 할 수 있습니다. 올바르게 구성되면 PHP는 HTTPS 리소스에 정상적으로 액세스 할 수 있어야합니다.
위의 단계를 통해 IIS에 SSL 인증서를 설치 한 후 PHP가 HTTPS 데이터를 얻을 수없는 문제를 효과적으로 해결할 수 있습니다. php.ini 파일의 올바른 구성 및 CURL 라이브러리 사용은 HTTPS 요청을 할 때 SSL 인증서를 확인하여 데이터 수집의 보안을 보장 할 수 있도록 PHP가 SSL 인증서를 확인할 수 있도록합니다. 실제 작업에서 실제 상황에 따라 구성 경로를 조정하고 SSL 인증서의 유효성을 확인하십시오.
이 기사가 관련 문제를 해결하고 웹 사이트의 안전하고 적절한 운영을 보장하는 데 도움이되기를 바랍니다.