APIについて
本ページでは、APIパージおよび証明書更新・切り替え用APIについて説明します。
共通情報
APIサーバー:https://api.cdnw.net
メソッド:POST
APIキー:管理画面からご確認いただけます
グループ名:管理画面からご確認いただけます
APIパージ
全プランでAPI経由のキャッシュ削除が可能です。
パージのエンドポイントは、/v2.1/ です。
必須ヘッダー |
値 |
|---|---|
X-TYPE |
(SINGLE or REGEX or TAGKEY) |
X-GROUP |
APIグループ名 |
X-KEY |
APIキー |
X-PATH |
削除対象パス※フルパス |
その他HTTPヘッダー |
値 |
|---|---|
x-purge-host |
ホスト名(www.redbox.ne.jp) / SINGLEパージ時任意の削除対象ドメインを指定可能※1契約で複数ドメインご利用環境限定 |
キャッシュ削除リクエストサンプル
Curlでキャッシュ削除を行う場合は以下の通りとなります。
TOPページのみ削除(タイプSINGLE)
curl -X POST -H x-type:SINGLE -H x-group:グループ名 -H x-key:APIキー -H x-path:/ https://api.cdnw.net/v2.1/
.jpgで終わるファイル名を一括削除(タイプREGEX)
curl -X POST -H x-type:REGEX -H x-group:グループ名 -H x-key:APIキー -H x-path:/*.jpg https://api.cdnw.net/v2.1/
tag1 というタグが付与されているコンテンツの一括削除(タイプTAGKEY)
curl -X POST -H x-type:TAGKEY -H x-group:グループ名 -H x-key:APIキー -H x-path:tag1 https://api.cdnw.net/v2.1/
APIステータスコード
ステータスコード |
詳細 |
|---|---|
Status:200 |
リクエストが正常に完了した場合に返却されます。 |
Status:401 |
グループ名が異なる場合に返却されます。 |
Status:402 |
APIキーが異なる場合に返却されます。 |
Status:403 |
メソッドが異なる場合に返却されます。 |
Status:404 |
必要なヘッダが不足している場合に返却されます。 |
Status:501 |
リクエストに時間がかかっています。しばらく時間を空けて再度お試し下さい。 |
Status:502 |
初期設定が完了していない場合に返却されます。サポートまでお問い合わせ下さい。 |
証明書API(証明書更新・切り替え)
前提条件
以下のツールが必要です。
curl --version
jq --version # または awk --version
openssl version
持ち込み証明書登録
POST /certapi/
項目 |
内容 |
|---|---|
メソッド |
POST |
Content-Type |
application/json; charset=utf-8 |
認証ヘッダー |
|
{
"certificate_chain": "PEM形式の証明書チェーン",
"private_key": "PEM形式の秘密鍵"
}
フィールド |
必須 |
説明 |
|---|---|---|
certificate_chain |
✓ |
PEM形式の証明書。証明書チェーンの場合はリーフ証明書→中間CA の順で結合してください |
private_key |
✓ |
PEM形式のRSA秘密鍵(暗号化なし) |
リクエストサイズ上限: 10 KB
対応鍵種別: RSAのみ(EC・DSA非対応)
秘密鍵はパスフレーズなし(暗号化されていないもの)
証明書の有効期限が切れていないこと
PEMファイルはJSON文字列として渡す必要があります。改行を \n に変換するため、jq または awk を使用してください。
XKEY="発行されたAPIキー"
CERT_CHAIN=$(cat /path/to/cert.pem | jq -Rs .)
PRIVATE_KEY=$(cat /path/to/privkey.pem | jq -Rs .)
curl -s -X POST https://api.cdnw.net/certapi/ \
-H "Content-Type: application/json" \
-H "X-KEY: ${XKEY}" \
-d "{
\"certificate_chain\": $CERT_CHAIN,
\"private_key\": $PRIVATE_KEY
}"
XKEY="発行されたAPIキー"
CERT_CHAIN=$(awk '{printf "%s\\n", $0}' /path/to/cert.pem)
PRIVATE_KEY=$(awk '{printf "%s\\n", $0}' /path/to/privkey.pem)
curl -s -X POST https://api.cdnw.net/certapi/ \
-H "Content-Type: application/json" \
-H "X-KEY: ${XKEY}" \
-d "{\"certificate_chain\": \"$CERT_CHAIN\", \"private_key\": \"$PRIVATE_KEY\"}"
{
"status": 200,
"success": true,
"message": "証明書を登録しました。適用処理を開始しました。",
"details": {
"subject": "CN=blog.redbox.ne.jp, O=Organization, C=JP",
"issuer": "CN=issuer.redbox.ne.jp, O=Issuer Org, C=JP",
"valid_from": 1708300000,
"valid_to": 1739836000,
"chain_length": 1
}
}
HTTPステータス |
原因 |
|---|---|
401 |
APIキーが不正または未指定 |
403 |
POSTメソッド以外でリクエストした |
400 |
証明書のドメインがサービスに登録されたドメインと一致しない |
413 |
リクエストサイズが10KBを超えている |
422 |
証明書・秘密鍵の形式不正、ペア不一致、有効期限切れなど |
500 |
サーバーエラー(解決しない場合はお問い合わせください) |
証明書タイプ変更
POST /certapi/cert-type-switch/
項目 |
内容 |
|---|---|
メソッド |
POST |
Content-Type |
application/json; charset=utf-8 |
認証ヘッダー |
|
{
"domain": "blog.redbox.ne.jp",
"cert_type": "universal"
}
フィールド |
必須 |
説明 |
|---|---|---|
domain |
✓ |
対象のFQDN |
cert_type |
✓ |
XKEY="発行されたAPIキー"
FQDN="blog.redbox.ne.jp"
curl -s -X POST https://api.cdnw.net/certapi/cert-type-switch/ \
-H "Content-Type: application/json" \
-H "X-KEY: ${XKEY}" \
-d "{\"domain\": \"${FQDN}\", \"cert_type\": \"custom\"}"
処理は非同期で実行されます。反映には数分かかる場合があります。
{
"status": 202,
"success": true,
"message": "切り替え処理を開始しました。反映には数分かかります。"
}
HTTPステータス |
原因 |
|---|---|
401 |
APIキーが不正または未指定 |
403 |
POSTメソッド以外でリクエストした |
409 |
切り替え先の証明書がまだ存在しない(事前に証明書を登録/発行してください) |
422 |
|
500 |
サーバーエラー(解決しない場合はお問い合わせください) |