デフォルトでは、ドキュメントは [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 ドキュメントをカスタムドメインのサブディレクトリにデプロイする#
設定手順:#
1.
Apidog の Custom Domain 設定ページで、カスタムドメインを入力します。
2.
Reverse Proxy を選択し、Use Subdirectory を有効にしてから、サブディレクトリパスを入力します。
3.
次に、Web サーバーの設定ファイルを変更する必要があります。Nginx を使用してサービスをプロキシしていると仮定すると、以下の設定を参照できます。
proxy_pass: クライアントリクエストを別のサーバー(Apidog の API ドキュメントサーバーなど)に転送します。
proxy_set_header: プロキシサーバーからアップストリームサーバーに送信されるリクエストヘッダーを設定し、リクエストが適切に処理されるようにします。
/api-docs/ はカスタムドメインのサブディレクトリであり、Nginx 設定では / で終わる必要があります。
http://{projectId}.apidog.io/ も / で終わる必要があります。
{projectId} を Apidog のプロジェクト ID に置き換えてください。
docs.example.com はカスタムドメインのサンプルです。実際のカスタムドメインに置き換えてください。
設定後、サーバー上で Nginx を再起動する必要があります。
HTTPS を有効にする#
Apidog のオンラインドキュメントは HTTPS プロトコルをサポートしており、HTTP と比較していくつかの利点があります。安全なデータ送信: HTTPS は SSL/TLS 暗号化を使用してデータ送信の安全性を確保 し、第三者による情報の傍受を防ぎます。
SEO 最適化: 検索エンジンのクローラーは、HTTPS の方がより優れたセキュリティとプライバシー保護を提供するため、HTTPS の使用を好みます。そのため、HTTPS Web サイトは HTTP Web サイトよりも検索エンジンランキングで高い評価を得る可能性があります。
HTTPS を有効にする手順:#
1.
Publish ページに移動し、Custom Domain タブを開きます。
2.
HTTPS をオンにして HTTPS を有効にします。任意で Always Use HTTPS を有効にすると、通信の乗っ取りや中間者攻撃を防止できます。
SSL 証明書の管理#
HTTPS を有効にすると、SSL 証明書の管理方法を選択できます。Generated by Apidog: Apidog が SSL 証明書を自動的に生成します。
Use Your Own Certificate: 認証局(例: Let's Encrypt)によって発行された SSL 証明書と秘密鍵をアップロードできます。 トラブルシューティング#
カスタムドメインの設定で問題が発生している場合は、Discord からお問い合わせください。Apidog Europe を使用していますか?#
Apidog Europe を使用している場合は、カスタムドメイン設定に正しいドメインを使用していることを確認してください。以前の設定における Apidog Europe の正しいドメインは {projectId}.eu.apidog.com です。