デフォルトでは、ドキュメントは [サブドメイン].apidog.io
ドメインでアクセス可能です。しかし、カスタムドメインを設定することで、組織に適したドメインでドキュメントにアクセスできるようになります。カスタムドメインは、管理者権限を持つユーザーが設定できます。以下の手順に従ってカスタムドメインを設定してください。カスタムドメイン設定の開始#
プロジェクトのShareモジュールで、カスタムドメインを設定するオプションにアクセスできます。サイドバーの 共有 メニューをクリックし、 セカンダリメニューの Publish 設定ページに移動します。カスタムドメイン というセクションが表示されます。編集 ボタンをクリックして、カスタムドメインの設定を開始します。カスタムドメインの設定には2つのオプションがあります:1.
CNAME方式: 推奨されるオプションです。設定と維持が最も簡単で、サブドメインやルートドメインにカスタムドメインを設定できる柔軟性があります。
2.
独自サーバー経由: このオプションはより高度で、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 は、サブドメインが指すべき場所です。DNS CNAMEオプションを選択したときに、ApidogのPublish設定でこの値が表示されます。{docsSiteId}.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分~48時間
待つ必要があるかもしれません。先ほど説明したTTL(Time To Live)フィールドを覚えていますか?DNSレコードは一定期間キャッシュされます。これは通常、パフォーマンス上の理由で非常に良いことです。なぜなら、DNSレコードは通常あまり頻繁に変更されないからです。変更が行われると、DNSキャッシュサーバーがキャッシュを失効させ、変更を確認してそれに応じて動作するまでの期間(TTL値)があります。ほとんどの場合、次の最終ステップに進む前に少なくとも10分待つことをお勧めします。時にはもう少し早く更新されることもありますが、長くかかることもあります。48時間以上かかることは稀です。このプロセス(伝播と呼ばれる)がどのように進行しているかを確認したいですか?WhatsMyDNS などのDNSルックアップツールを使用できます。完全なサブドメインを入力し、ドロップダウンリストからCNAMEを選択し、Searchボタンを押します。世界中のDNSキャッシュサーバーが応答し、キャッシュされた結果を教えてくれます。割り当てられたCNAME値が大部分のサーバーで表示されるまで、定期的にこれらの結果を確認してください。CDNまたは独自のリバースプロキシサーバーの設定#
この手順は、前のステップで 独自サーバー経由 オプションを選択した場合にのみ適用されます。
AWS CloudFrontをリバースプロキシとして設定#
AWS CloudFrontやCloudflare Enterpriseなどのクラウドベンダーが提供するCDNサービスを利用して、独自のリバースプロキシサーバーとして設定できます。以下の例では、AWS CloudFrontをリバースプロキシとして 設定します。1.
AWSにログインし、CloudFront に移動します。Create Distributionをクリックします。 2.
ディストリビューションの設定を構成します。以下は変更が必要な値です。
設定 | 値 |
---|
Origin Domain Name | {docsSiteId}.apidog.io に設定 |
Name | オリジンの説明。この値により、同じディストリビューション内の複数のオリジンを区別できるため、一意である必要があります。 |
Origin Protocol Policy | HTTP Only に設定 |
Alternate Domain Names (CNAMEs) | カスタムドメイン名に設定(カスタムドメイン設定中にPublish設定で設定したものと同じ) |
SSL Certificate | AWS Certificate Manager (ACM) に保存されているカスタムドメインのSSL証明書に設定 |
3.
Origin Custom Headersに関する情報を提供します(Header NameとValueフィールドは、Origin Domain Nameを提供した後に表示されます)
Header Name | Value |
---|
X-Apidog-Docs-Site-ID | {docsSiteId} に設定 |
docsSiteId
の値は、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リストに新しく作成されたディストリビューションが表示されます。StatusがDeployedになるまで、In progressと表示されることに注意してください。
7.
カスタムドメインのDNSに新しいCNAMEレコードを追加し、ディストリビューションのCloudFront Domain Nameを指すようにします。これは、Distribution IDをクリックし、Generalタブの下にあるDistribution domain name(例:fd1fbc7cac6197.cloudfront.net)で確認できます。
独自のリバースプロキシサーバーの設定#
APIドキュメント用に独自のリバースプロキシサーバーを設定できます。以下の例では、Nginx
をリバースプロキシサーバーとして使用します。1.
簡単な設定のために、Nginx
設定ファイルに以下の内容を追加します。
:8080 {
handle_path /* {
reverse_proxy http://{docsSiteId.apidog.io {
header_up X-Apidog-Docs-Site-ID {docsSiteId}
header_up Host "docs.example.com"
}
}
}
}
{docsSiteId}
の値は、Apidogのプロジェクト設定で確認できます。
2.
カスタムドメイン名のDNSレコードをリバースプロキシサーバーを指すように設定します。
カスタムド メインのサブディレクトリにAPIドキュメントをデプロイ#
設定手順:#
1.
Apidogの カスタムドメイン
設定ページで、カスタムドメインを入力します。
2.
独自サーバー経由
を選択し、Use Subdirectory
を有効にして、サブディレクトリパスを入力します。
3.
次に、ウェブサーバーの設定ファイルを変更する必要があります。Nginxを使用してサービスをプロキシしている場合、以下の設定を参照できます:
proxy_pass
: クライアントのリクエストを別のサーバー(ApidogのAPIドキュメントサーバーなど)に転送します。
proxy_set_header
: プ ロキシサーバーが上流サーバーに送信するリクエストヘッダーを設定し、リクエストが適切に処理されるようにします。
/api-docs/
はカスタムドメインのサブディレクトリで、Nginx設定では /
で終わる必要があります。
http://{docsSiteId}.apidog.io/
も /
で終わる必要があります。
{docsSiteId}
をApidogのプロジェクトIDに置き換えてください。
docs.example.com
はサンプルのカスタムドメインです。実際のカスタムドメインに置き換えてください。
設定後、サーバーでNginxを再起動する必要があります。
HTTPSの有効化#
ApidogのオンラインドキュメントはHTTPSプロトコルをサポートしており、HTTPよりもいくつかの利点があります:安全なデータ転送: HTTPSはSSL/TLS暗号化を使用してデータ転送の安全性を確保し、第三者による情報の傍受を防ぎます。
SEO最適化: 検索エンジンのクローラーは、セキュリティとプライバシー保護が優れているため、HTTPSを優先します。そのため、HTTPSのウェブサイトは検索エンジンのランキングでHTTPのウェブサイトよりも高い権威を持つ可能性があります。
HTTPSを有効にする手順:#
1.
Publish
ページに移動し、カスタムドメイン
タブを開きます。
2.
HTTPS
をオンにしてHTTPSを有効にし、必要に応じて Always Use HTTPS
を有効にして、通信がハイジャックされたり中間者攻撃を受けたりするのを防ぎます。
SSL証明書の管理#
HTTPSを有効にした後、SSL証明書をどのように管理するかを選択できます:Apidogが生成: Apidogが自動的にSSL証明書を生成します。
トラブルシューティング#
カスタムドメインの設定に問題がある場合は、Discord からお問い合わせください。Apidog Europeを使用していますか?#
Apidog Europeを使用している場合、カスタムド メイン設定に正しいドメインを使用していることを確認してください。以前の設定でのApidog Europeの正しいドメインは {docsSiteId}.eu.apidog.com
です。