預設情況下,你的文件可透過 [subdomain].apidog.io 網域存取。不過,你可以透過設定自訂網域來自訂此設定,這表示你的受眾將能夠在符合你組織需求的網域上存取你的文件。自訂網域可由具有管理員權限的使用者設定。請依照以下步驟設定自訂網域。啟動自訂網域設定#
你可以在專案的 Share 模組中存取為專案設定自訂網域的選項。只需點擊側邊欄中的 Share Docs 選單,然後在次要選單中前往 Publish 設定頁面。你會看到一個標題為 Custom Domain 的區段。點擊 Edit 按鈕以啟動自訂網域設定。1.
CNAME:這是建議選項。它最容易設定和維護。它也是最具彈性的選項,因為它允許你為子網域或根網域設定自訂網域。
2.
Reverse Proxy:此選項較進階,需要你使用內容傳遞網路(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 設定中看到此值。它看起來會像 {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」)已停用。原因有兩個:此選項會對公開網路隱藏你網域的 DNS 目標,導致 Apidog 無法正確對你的自訂網域執行例行檢查。
再次提醒,請關閉 Cloudflare 代理功能,以確保你的文件能正常提供服務。等待變更生效#
簡短回答:在進入下一步之前,你可能需要等待 10 minutes ~ 48 hours,讓 DNS 變更生效。還記得我們先前提到的 TTL(Time To Live)欄位嗎?DNS 記錄會被快取一段時間——出於效能原因,這通常是非常好的做法,因為它們通常不會經常變更。當它們_確實_ 變更時,會有一段時間(TTL 值)DNS 快取伺服器需要等其快取過期,才會檢查是否有任何變更並相應處理。在大多數情況下,最好至少等待 10 分鐘後再進入下一個也是最後一個步驟。有時可能會更快更新,也可能需要更久。超過 48 小時的情況很少見。想檢查這個稱為_傳播_的流程進展如何嗎?你可以使用 DNS 查詢工具,例如 WhatsMyDNS。輸入你的完整子網域,從下拉清單中選擇 CNAME,然後按下 Search 按鈕。全球各地的 DNS 快取伺服器會回應,告訴你它們的快取結果。你需要定期檢查這些結果,直到絕大多數都回應你被指派的 CNAME 值。設定 CDN 或你自己的反向代理伺服器#
這僅適用於你在前一步選擇了 Reverse Proxy 選項的情況。
將 AWS CloudFront 設定為反向代理#
你可以利用 AWS CloudFront、Cloudflare Enterprise 等雲端供應商提供的 CDN 服務,將其設定為你自己的反向代理伺服器。在以下範例中,我們將把 AWS CloudFront 設定為 Reverse Proxy。2.
設定你的 distribution 設定。以下是你需要變更的值。
| Settings | Value |
|---|
| Origin Domain Name | 設定為 {projectId}.apidog.io |
| Name | origin 的描述。此值可讓你區分同一個 distribution 中的多個 origins,因此必須是唯一的。 |
| Origin Protocol Policy | 設定為僅 HTTP |
| 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 | Value |
|---|
| X-Apidog-Project-ID | 設定為 {projectId} |
你可以在 Apidog 專案設定中找到 projectId 值。
4.
設定 Default Cache Behavior Settings。以下是你需要變更的值。
| Setting | Value |
|---|
| 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 清單中看到新建立的 distribution。請注意,在 distribution 完成 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"
}
}
}
}
你可以在 Apidog 專案設定中找到 {projectId} 值。
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 網站在搜尋引擎排名中可能比 HTTP 網站具有更高的權威性。
啟用 HTTPS 的步驟:#
1.
前往 Publish 頁面並開啟 Custom Domain 分頁。
2.
開啟 HTTPS 以啟用 HTTPS,並且可選擇啟用 Always Use HTTPS,以防止通訊遭到劫持或中間人攻擊。
SSL 憑證管理#
啟用 HTTPS 後,你可以選擇如何管理你的 SSL 憑證:Generated by Apidog:Apidog 將自動產生 SSL 憑證。
Use Your Own Certificate:你可以上傳由憑證授權單位簽發的 SSL 憑證和私密金鑰(例如 Let's Encrypt)。 疑難排解#
你正在使用 Apidog Europe 嗎?#
如果你正在使用 Apidog Europe,請確保你在自訂網域設定中使用的是正確的網域。Apidog Europe 先前設定中的正確網域是 {projectId}.eu.apidog.com。