デフォルトでは、ドキュメントは [subdomain].apidog.io ドメインでアクセスできます。ただし、カスタムドメインを設定することでこれをカスタマイズできます。これにより、閲覧者は組織に適したドメインでドキュメントにアクセスできるようになります。カスタムドメインは、管理者権限を持つユーザーが設定できます。カスタムドメインを設定するには、以下の手順に従ってください。カスタムドメイン設定の開始#
プロジェクトの Share モジュールで、プロジェクトのカスタムドメインを設定するためのオプションにアクセスできます。サイドバーの Share Docs メニューをクリックし、セカンダリメニューの Publish 設定ページに移動してください。Custom Domain というセクションが表示されます。Edit ボタンをクリックして、カスタムドメイン設定を開始します。カスタムドメインを設定する方法には、2 種類のオプションがあります。1.
CNAME: 推奨されるオプションです。設定とメンテナンスが最も簡単です。また、サブドメインまたはルートドメインにカスタムドメインを設定できるため、最も柔軟なオプションでもあります。
2.
Reverse Proxy: より高度なオプションであり、Content Delivery Network (CDN) を使用するか、独自のサーバーにリバースプロキシを設定する必要があります。これらの技術に慣れているユーザーに推奨されます。
CNAME の設定#
これは、前の手順で CNAME オプションを選択した場合にのみ適用されます。
DNS の設定は、Apidog の_外部_で、ドメインに使用している DNS プロバイダー側で行います。CNAME レコードを設定する#
レコードを設定するためのフィールド名や実際に入力する内容は、DNS コントロールパネルによって異なる場合がありますが、ここでは最も一般的なオプションを説明します。不明な場合は、DNS プロバイダーに確認してください。type は、作成する DNS レコードの種類です。ここでは CNAME を選択する必要があります。
name または DNS entry は、サブドメインを入力する場所です。完全な形式(例: docs.example.com)で入力する必要がある場合もあれば、エイペックスドメインの前の部分(例: docs)だけを入力すればよい場合もあります。どちらを使用すべきかわからない場合は、DNS プロバイダーに確認してください。
target、value、または destination は、サブドメインの向き先です。Apidog の Publish 設定で DNS CNAME オプションを選択すると、この値を確認できます。{projectId}.apidog.io のような形式になります。この値は完全な形式で入力してください(例: 12345678.apidog.io)。
TTL という名前のフィールドが表示される場合もあります。これは Time To Live の略です。DNS レコードをキャッシュできる秒数を表します。何を設定すべきかわからない場合は、Auto を選択するか、デフォルト値のままにすることをおすすめします。
Cloudflare のコントロールパネルで正しい設定がどのように表示されるかの例を以下に示します。Cloudflare のコントロールパネルで正しく設定されたカスタムドメイン注: CNAME レコードは、同じ名前の別のレコードと共存できません。選択したサブドメインに対して、すでに A レコード、AAAA レコード、TXT レコード、またはその他の種類のレコードがある場合は、CNAME レコードを追加する_前に_それらを削除する必要があります。Cloudflare を使用していますか?#
Cloudflare のコントロールパネルで DNS を設定している場合は、Cloudflare のプロキシ(オレンジ色の雲、ドメイン設定では "Proxy status" とも呼ばれます)が無効になっていることを確認してください。理由は 2 つあります。このオプションは、ドメインの DNS ターゲットを公開情報から隠すため、Apidog がカスタムドメインの定期チェックを適切に実行できなくなります。
カスタムドメインは、すでに CDN のメリットを受けます。
繰り返しになりますが、ドキュメントが問題なく配信されるように、Cloudflare のプロキシをオフにしてください。変更が反映されるのを待つ#
簡単に言うと、次の手順に進む前に、DNS の変更が反映されるまで 10 minutes ~ 48 hours 待つ必要がある場合があります。先ほど説明した TTL(Time To Live)フィールドを覚えていますか?DNS レコードは一定期間キャッシュされます。通常、DNS レコードはあまり頻繁に変更されないため 、これはパフォーマンス上非常に有益です。DNS レコードが変更された場合、DNS キャッシュサーバーが変更を確認してそれに応じて動作するには、キャッシュが期限切れになるまでの一定期間(TTL 値)が必要です。ほとんどの場合、次の最後の手順に進む前に、少なくとも 10 分待つのが最適です。場合によってはもう少し早く更新されることもあれば、より長くかかることもあります。48 時間を超えることはまれです。_伝播_と呼ばれるこのプロセスの進行状況を確認したい場合は、WhatsMyDNS などの DNS ルックアップツールを使用できます。完全なサブドメインを入力し、ドロップダウンリストから CNAME を選択して、Search ボタンを押します。世界中の DNS キャッシュサーバーが応答し、キャッシュされている結果を知らせてくれます。大多数が割り当てられた CNAME 値で応答するまで、これらの結果を定期的に確認してください。CDN または独自のリバースプロキシサーバーの設定#
これは、前の手順で Reverse Proxy オプションを選択した場合にのみ適用されます。
AWS CloudFront をリバースプロキシとして設定する#
AWS CloudFront、Cloudflare Enterprise などのクラウドベンダーが提供する CDN サービスを利用して、独自のリバースプロキシサーバーとして設定できます。以下の例では、AWS CloudFront を Reverse Proxy として設定します。1.
AWS にログインし、CloudFront に移動します。Create Distribution をクリックします。 2.
ディストリビューション設定を構成します。変更が必要な値は以下のとおりです。
| 設定 | 値 |
|---|
| Origin Domain Name | {projectId}.apidog.io に設定します |
| Name | オリジンの説明です。この値により、同じディストリビューション内の複数のオリジンを区別できるため、一意である必要があります。 |
| Origin Protocol Policy | HTTP Only に設定します |
| Alternate Domain Names (CNAMEs) | カスタムドメイン名に設定します(カスタムドメイン設定時に Publish 設定で構成したものと同じもの) |
| SSL Certificate | AWS Certificate Manager (ACM) に保存されている、カスタムドメイン用の SSL Certificate に設定します。 |
3.
Origin Custom Headers に関する情報を指定します(Header Name と Value フィールドは、Origin Domain Name を指定した後にのみ表示されます)。
| Header Name | 値 |
|---|
| X-Apidog-Project-ID | {projectId} に設定します |
projectId の値は、Apidog のプロジェクト設定で確認できます。
4.
Default Cache Behavior Settings を設定します。変更が必要な値は以下のとおりです。
| 設定 | 値 |
|---|
| Viewer Protocol Policy | Redirect HTTP to HTTPS を選択します |
| Allowed HTTP Methods | GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE を選択します。 |
| Cache and origin request settings | Use legacy cache settings を選択します。Headers、Query strings、Cookies には All を選択します |
5.
AWS Web Application Firewall (WAF) を有効にしないでください。
6.
ペー ジ下部の Create distribution をクリックします。新しく作成されたディストリビューションが CloudFront Distributions リストに表示されます。ディストリビューションが Deployed になるまでは、Status が In progress と表示されることに注意してください。
7.
カスタムドメインの DNS に新しい CNAME レコードを追加し、Distribution の CloudFront Domain Name を指すようにします。これは、Distribution ID をクリックし、General タブの Distribution domain name(例: fd1fbc7cac6197.cloudfront.net)で確認できます。
独自のリバースプロキシサーバーの設定#
API ドキュメント用に独自のリバースプロキシサーバーを設定できます。以下の例では、Nginx をリバースプロキシサーバーとして使用します。1.
簡単な設定として、Nginx 設定ファイルに以下の内容を追加します。
:8080 {
handle_path /* {
reverse_proxy http://{projectId.apidog.io {
header_up X-Apidog-Project-ID {projectId}
header_up Host "docs.example.com"
}
}
}
}
{projectId} の値は、Apidog のプロジェクト設定で確認できます。
2.
カスタムドメイン名の DNS レコードを設定し、リバースプロキシサーバーを指すようにします。
API ドキュメントをカスタムドメインのサブディレクトリにデプロイする