문제 해결

인증서 확인 오류 해결 방법

오류 [curl] 77: 위치 확인 인증서를 설정하는 동안 오류 발생: CAfile은 엑솔라 서버에 페이 스테이션 SDK를 이용해 요청을 전송하면 나타납니다.

엑솔라는 SSL-인증서 확인을 활성화하고 귀하의 운영 체제가 제공하는 기본 CA 번들을 사용합니다. 그러나 모든 시스템이 디스크에 CA 번들을 가지고 있지는 않습니다. 예를 들어, Windows 및 OS X는 CA 번들에 대한 하나의 공통 위치가 없습니다.

이 문제를 해결하는 몇 가지 방법:

  • 개발 환경에서 이 코드를 사용하여 인증서 확인을 비활성화합니다.

Copy
Full screen
Small screen
<?php

use Xsolla\SDK\API\XsollaClient;

$client = XsollaClient::factory(array(
'merchant_id' => MERCHANT_ID,
'api_key' => API_KEY
));
$client->setDefaultOption('ssl.certificate_authority', false);
알림
프로덕션 환경에서 이 문제를 테스트할 필요도 있습니다.
  • 신뢰할 수 있는 인증서를 제공합니다(권장). CA 파일이 존재함을 확인하고 파일 경로를 아래 코드와 지정합니다.
    • /path/to/file이 CA 파일의 경로인 경우.
    • ssl.certificate_authority가 CA 파일명입니다.
Copy
Full screen
Small screen
<?php

use Xsolla\SDK\API\XsollaClient;

$client = XsollaClient::factory(array(
'merchant_id' => MERCHANT_ID,
'api_key' => API_KEY
));
$сlient->setDefaultOption('ssl.certificate_authority', '/path/to/file');

Windows에서 CA 파일이 위치할 수 있는 폴더:

  • C:\windows\system32\curl-ca-bundle.crt
  • C:\windows\curl-ca-bundle.crt

지정된 장소에 인증서가 없는 경우 Mozilla가 제공하는 인증서를 사용할 수 있습니다.

Windows에서 PHP의 어떤 버전은 코드를 이용한 인증서로 가는 경로 구성이 문제가 될 수 있습니다. 해결하려면 cacert.pem 파일을 다운로드하고 이 파일의 경로를 php.ini 구성 파일에서 지정하십시오.

Copy
Full screen
Small screen
    curl.cainfo=c:/cacert.pem
    
    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    숨기기

    인증 오류 해결 방법

    Apache의 PHP-CGI가 HTTP Basic 사용자/패스를 PHP에 기본값으로 전달하지 않는 경우 INVALID_SIGNATURE 코드 오류 및 Authorization header not found in Xsolla webhook request 메시지가 나타납니다. 해결하려면 다음 문자열을 .htaccess 또는 httpd.conf Apache 구성 파일에 추가하세요.

    Copy
    Full screen
    Small screen
    <?php
    
    RewriteEngine On
    RewriteCond %{HTTP:Authorization} ^(.+)$
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    숨기기

    잘못된 IP 주소 해결 방법

    페이 스테이션 PHP SDK를 사용하는 경우, 엑솔라는 웹훅이 전송된 IP 주소를 확인합니다. INVALID_CLIENT_IP 오류 코드가 다음 경우 중 하나로 인해 반환될 수 있습니다.

    • 웹훅 서버가 개발 환경의 localhost에서 테스트 된 경우
    • 귀하의 앱이 프록시 서버 뒤의 프로덕션 환경에서 작동한 경우(예: 부하 분산 장치)

    개발 환경에 있는 경우 다음 코드로 IP 주소 확인을 끄십시오.

    Copy
    Full screen
    Small screen
    <?php
    use Xsolla\SDK\Webhook\WebhookServer;
    $webhookServer = WebhookServer::create($callback, PROJECT_KEY);
    $webhookServer->start($webhookRequest = null, $authenticateClientIp = false);
    

    프록시 서버를 사용하고 있는 경우 다음 솔루션 중 하나를 선택하십시오.

    • 역방향 프록시 IP 주소를 웹훅 서버에 다음 코드와 추가합니다(권장).

    Copy
    Full screen
    Small screen
    <?php
    
    use Xsolla\SDK\Webhook\WebhookServer;
    use Symfony\Component\HttpFoundation\Request;
    
    $request = Request::createFromGlobals();
    $request->setTrustedProxies(array('YOUR_PROXY_SERVER_IP_OR_CIDR'));
    
    $webhookServer = WebhookServer::create($callback, PROJECT_KEY);
    $webhookServer->start();
    

    • 프록시 IP 주소를 허용 목록에 추가합니다.

    Simfony 문서에서 프록시 서버와 작업에 대한 정보를 참조해 주세요.

    이 기사가 도움이 되었나요?
    감사합니다!
    개선해야 할 점이 있을까요? 메시지
    유감입니다
    이 기사가 도움이 안 된 이유를 설명해 주세요. 메시지
    의견을 보내 주셔서 감사드립니다!
    메시지를 검토한 후 사용자 경험 향상에 사용하겠습니다.
    숨기기
    마지막 업데이트: 2024년 10월 7일

    오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.

    문제 보고
    콘텐츠를 항상 검토합니다. 여러분의 피드백은 콘텐츠를 개선에 도움이 됩니다.
    후속 조치를 위해 이메일을 제공해 주세요
    의견을 보내 주셔서 감사드립니다!