문제 해결
오류 [curl] 77: 위치 확인 인증서를 설정하는 동안 오류 발생: CAfile은 엑솔라 서버에 페이 스테이션 SDK를 이용해 요청을 전송하면 나타납니다.
엑솔라는 SSL-인증서 확인을 활성화하고 귀하의 운영 체제가 제공하는 기본 CA 번들을 사용합니다. 그러나 모든 시스템이 디스크에 CA 번들을 가지고 있지는 않습니다. 예를 들어, Windows 및 OS X는 CA 번들에 대한 하나의 공통 위치가 없습니다.
이 문제를 해결하는 몇 가지 방법:
- 개발 환경에서 이 코드를 사용하여 인증서 확인을 비활성화합니다.
- php
<?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 파일명입니다.
- php
<?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의 어떤 버전은 코드를 이용한 인증서로 가는 경로 구성이 문제가 될 수 있습니다. 해결하려면 php.ini
구성 파일에서 지정하십시오.
curl.cainfo=c:/cacert.pem
Apache의 PHP-CGI가 HTTP Basic 사용자/패스를 PHP에 기본값으로 전달하지 않는 경우 .htaccess
또는 httpd.conf
Apache 구성 파일에 추가하세요.
- php
<?php
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
페이 스테이션 PHP SDK를 사용하는 경우, 엑솔라는 웹훅이 전송된 IP 주소를 확인합니다.
- 웹훅 서버가 개발 환경의 localhost에서 테스트 된 경우
- 귀하의 앱이 프록시 서버 뒤의 프로덕션 환경에서 작동한 경우(예: 부하 분산 장치)
개발 환경에 있는 경우 다음 코드로 IP 주소 확인을 끄십시오.
- php
<?php
use Xsolla\SDK\Webhook\WebhookServer;
$webhookServer = WebhookServer::create($callback, PROJECT_KEY);
$webhookServer->start($webhookRequest = null, $authenticateClientIp = false);
프록시 서버를 사용하고 있는 경우 다음 솔루션 중 하나를 선택하십시오.
- 역방향 프록시 IP 주소를 웹훅 서버에 다음 코드와 추가합니다(권장).
- php
<?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 문서에서 프록시 서버와 작업에 대한 정보를 참조해 주세요.
오자 또는 기타 텍스트 오류를 찾으셨나요? 텍스트를 선택하고 컨트롤+엔터를 누르세요.