SDK 오류 문제 해결 방법

저희가 제공하는 방법 안내서에서 고급 설정에 대해 자세히 알아보세요.

인증서 확인 오류 문제 해결 방법

오류 [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);

Note
프로덕션 환경에서 이 문제를 테스트할 필요도 있습니다.

  • 신뢰할 수 있는 인증서를 제공합니다. 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 user/pass를 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 문서에서 프록시 서버와 작업에 대한 자세한 정보를 참조하십시오.

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

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

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