トラブルシューティング
エラー[curl] 77:位置確認証明書の設定でエラーが発生しました:CAfileは、Pay Station SDKを使用してエクソーラサーバーにリクエストを送信すると、エラーが表示されます。
SSL証明書の検証が有効になっており、オペレーティングシステムが提供するデフォルトのCAバンドルが使用されます。しかし、すべてのシステムがディスク上にCAバンドルを持っているわけではありません。例えば、WindowsとOS Xでは、CAバンドルの共通の場所は1つではありません。
この問題を解決するには、いくつかの方法があります:
- このコードを使用すると、開発環境では証明書の検証を無効にできます:
- 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
.htaccess
またはhttpd.conf
のApache設定ファイルに次の文字列を追加します:
- php
<?php
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Pay Station PHP SDKを使用している場合、エクソーラはウェブフックが送信されたIPアドレスをチェックします。
- ウェブフックサーバーが開発環境のローカルホストからテストされた場合。
- アプリがロードバランサーなどのプロキシサーバーの後ろで本番環境で動作していた。
開発環境の場合は、このコードで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ドキュメンテーションをご覧ください。
誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。