Apidog Docs
🇨🇳 繁體中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 繁體中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇨🇳 繁體中文
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
Learning Center
HomeSupport CenterAPI ReferencesDownloadChangelog
Learning Center
HomeSupport CenterAPI ReferencesDownloadChangelog
  1. 發布 API 文件
  • Back to home
  • 支援中心
  • Apidog 支援中心
  • 匯入/匯出
    • 如何將 API 資料匯入 Apidog?
    • 如何在 Apidog 中匯入 cURL?
    • 如何將 Postman 環境遷移到 Apidog?
    • 如何在匯入 Swagger/OpenAPI 時自動分組端點?
  • 傳送請求
    • Apidog 支援 Socket.IO 嗎?
    • 為什麼參數值中的「+」會被解碼為空格?
    • 如何在 Apidog 中傳送請求?
    • 如何在 Apidog 中傳送 GraphQL 請求?
    • 如何在 Apidog 中傳送 gRPC 請求?
    • 如何在 Apidog 中傳送 SOAP/WebService 請求?
    • 如何在 Apidog 中傳送 WebSocket 請求?
    • Apidog 是否支援 WebSocket API 中的預先請求/測試腳本與斷言?
    • 如何在 Apidog 中傳送 SSE 請求?
    • 如何在資料夾層級新增預設標頭?
    • Apidog 是否支援 gRPC API 中的預請求/測試腳本與斷言?
    • ELANREFUSED.DNS 解析器錯誤
    • 為什麼我在傳送請求時會收到「socket hang up」錯誤?
    • 修復請求錯誤
      • 修正 read ECONNRESET 錯誤
      • 修正 ECONNREFUSED 錯誤
      • 修正 ETIMEDOUT 錯誤
      • 修復 ENOTFOUND: Couldn't resolve host 錯誤
      • 修正 ENOTFOUND: getaddrinfo ENOTFOUND www 錯誤
      • 修復 connect EHOSTUNREACH 錯誤
  • 設計 API
    • 如何在路徑中使用變數?
    • 我可以使用回應元件作為預設回應嗎?
    • 如何查看誰修改過端點?
    • 如何在 Apidog 中批次刪除端點資料夾?
    • 如何批次新增/移除端點路徑的前綴?
    • 如何在 Schema Editor 中移動屬性的層級?
    • 如果某個字串屬性有多個列舉值,並且會用於各種位置,如何在整個文件中一致地引用此 enum?
    • 如何取得 Apidog 資源資料夾 ID?
    • 如何取得 Apidog 的資源資料夾 ID?
    • 如何在 URL 路徑中使用變數?
    • 如果端點、文件或測試情境不小心被刪除了,我該怎麼辦?
    • Apidog 是否支援自訂端點的請求程式碼?
    • 將 Swagger/OpenAPI 匯入 Apidog 時,如何自動分組端點?
    • 如何在模擬回應中產生不重複的陣列資料?
    • 為什麼路徑不支援輸入「#」?
  • 偵錯 API
    • Apidog 如何與第三方金鑰管理系統整合?
    • 為什麼相同的請求在其他工具(例如 Postman)中可以正常運作,但在 Apidog 中卻不行?
    • 如何在 Apidog 中從資料庫取得變數值?
    • 如何將環境從其他工具遷移到 Apidog?
    • 如何在 Apidog 中使用腳本進行斷言?
    • JSONPath 只能擷取陣列。如何在 Apidog 中從陣列內擷取單一元素?
    • 當不同環境有不同的資料庫帳號憑證時,如何在 Apidog 中設定資料庫操作?
    • 如何在自訂腳本中取得服務基礎 URL?
    • 當 API 回應過大時,為什麼 Apidog 會回報超過 Node.js 字串長度上限的錯誤?
    • 控制台列印的大小限制是多少?為什麼列印大型檔案時會出現錯誤?
    • 如何解決 Windows 上的 DB2 資料庫連線錯誤?
    • 為什麼我在 Apidog 中連線到 Oracle 資料庫時會出現 NJS-045 錯誤?
    • 如何在 Apidog 自訂腳本中產生動態值?
    • 為什麼用戶端請求相同端點時成功,但在網頁端除錯時卻發生「無法請求地址」錯誤?
    • 為什麼當回應過大時 Apidog 會回報錯誤?
    • 如何使用 Apidog 錄製端點?
    • 定義端點回應時,是否允許端點沒有回應內容?
    • 如何在自訂腳本中取得服務 baseURL?
    • 如何在 Apidog 中查看原始封包?
    • 為什麼我在發送請求時會看到「Invalid URI xxx」錯誤?
    • 如何在 Apidog 腳本中發出非同步請求?
    • 為什麼我在傳送請求時會看到「Couldn't resolve host」訊息?
    • 主控台列印大小限制是多少?為什麼列印大型檔案時會出現錯誤?
    • 如何在端點請求中上傳檔案?
    • 如果 Apidog 當機或未顯示回應資料該怎麼辦?
    • Apidog 用於 OAuth2.0 的官方重新導向 URI
  • Mock API 資料
    • 如何自動模擬 API?
    • Apidog 模擬可以做什麼?
    • 如何在 Apidog 中模擬固定的 API 資料?
    • 如何在 Apidog 中模擬條件式資料?
    • 如何在 Apidog 中啟用雲端模擬?
    • 如何在 Apidog 中啟用自架模擬?
    • Apidog 支援模擬 WebSocket API 嗎?
    • 為什麼瀏覽器在請求模擬端點時沒有回傳內容?
  • 自動化測試
    • 為什麼測試情境在我的本機用戶端執行時沒有問題,但在 Apidog CLI 或 runner 中執行時會發生錯誤?
    • 如何在 Apidog 中建立測試情境?
    • 如何在測試步驟之間傳遞資料?
    • 為什麼我無法成功引用前置步驟資料?
    • 如何在 Apidog 中使用 foreach 迴圈?
    • 從端點/端點案例同步資料有什麼差異?
    • 如何在 Apidog 中使用測試資料?
    • 如何在 Apidog 的腳本中擷取測試資料?
    • 如何在 Apidog 中批次執行測試情境?
    • 如何在 Apidog 中排程測試任務?
    • 如何在 Apidog 中執行效能測試?
    • 如何在效能測試中查看實際的請求與回應?
    • 如何在 Apidog 中匯出效能測試報告?
    • 如何使用資料庫查詢結果作為循環 API 請求的參數?
    • 在 CI/CD 期間於 ApiDog 中擷取並驗證 Stripe Webhook
    • 如何解決「Error: unable to verify the first certificate on runner」錯誤?
    • General Runner Docker 容器「Not Found」錯誤。
    • 如何在 Apidog Web 版中設定 General Runner 的伺服器主機?
    • 為什麼排程測試情境最後顯示 0 個請求?
    • 如果在 Runner 或 CLI 中找不到檔案上傳參數,我該怎麼辦?
    • 如何使用 Runner 執行包含上傳檔案步驟的測試場景?
    • 如何解決「Error: unable to verify the first certificate on runner」錯誤?
    • 當 Runner 發生問題時,如何存取並搜尋 Runner 日誌以識別問題?
    • 如果端點參數是上傳檔案,且在 Runner 或 CLI 中找不到,該怎麼辦?
    • 為什麼當 API 使用案例變更時,測試步驟不會自動同步?
    • 為什麼在 Markdown 文件中使用多個美元符號會導致部分內容無法正確顯示?
    • 自架 Runner 執行任務後,是否會在伺服器上產生測試報告?
    • 我可以為測試情境中的請求新增統一的前置/後置處理器嗎?
    • 如何在單次自動化測試執行期間保持動態值一致?
  • 發布 API 文件
    • 如何在已發布的文件中隱藏所有 Apidog 標誌?
    • 當 API 規格更新時,API 文件會變更嗎?
    • 如何在 Apidog 中將 API 分享給協作者?
    • 如何自訂 Apidog 文件的網域?
    • 如何在 Apidog 中建立多版本文件?
    • Apidog 中 Publish Docs Sites 的分享範圍
    • Apidog 中 Share Doc 清單的分享範圍
    • 為什麼已發布的 Share Docs 沒有顯示 hostname?
    • 文件使用者如何在共享文件中修改 Base URL?
    • 我可以複製已發布的 Apidog 文件,以便在自己的專案中使用嗎?
    • 如何在 Apidog 線上文件中共用標頭(例如 Token)?
    • 為什麼我的團隊成員找不到已發布的文件?
    • 如何修復自訂網域上的 SSL 憑證過期或 Cloudflare 526 錯誤?
    • 自訂 SMTP 設定成功,但允許清單使用者未收到 OTP 電子郵件
  • Markdown
    • 如何使用卡片連結到 Apidog 內的各種頁面或端點?
    • 為什麼在 Markdown 文件中使用多個 $ 符號時,部分內容無法正確顯示?
    • 如何在 Apidog Markdown 中使用透明背景圖片?
    • 如何設定 Markdown 表格的欄寬?
    • 如何將內部 API、文件、資料結構描述或資料夾插入 Markdown 文件?
    • 如何在 Apidog 卡片元件中新增專案內文件或端點的連結?
  • 分支
    • 如何存取 sprint 分支?
  • 管理
    • 如何靜默安裝 Apidog 用戶端?
    • 為什麼我明明有管理員存取權,卻看到「No Permission」錯誤?
    • 如何查看 Runner 版本號?
    • Apidog 支援 win7 嗎?
    • 為什麼 Apidog 安裝後會顯示錯誤「Cannot locate program entry point DiscardVirtualMemory in dynamic link library KERNEL32.dll」?
    • 訂閱變更與退款
    • Web 請求可正常運作,但 App 出現「read ECONNRESET」——為什麼?
    • 為什麼 Windows 系統更新後我無法開啟 Apidog?
    • 為什麼 Apidog 在 Windows 系統更新後無法開啟
  • 帳單
    • 我可以在 Apidog 中為我的團隊設定獨立的帳務帳戶嗎?
    • Apidog 上的團隊存取與帳單問題
    • 受邀團隊成員無法存取 Apidog。
    • 將個人付費團隊轉移至組織
  • 私有化部署
    • Apidog 自託管(企業)版本中的使用者與存取管理
  • Web 與用戶端
    • 下載與安裝 Linux 桌面版
  1. 發布 API 文件

如何自訂 Apidog 文件的網域?

預設情況下,你的文件可透過 [subdomain].apidog.io 網域存取。不過,你可以透過設定自訂網域來自訂此設定,這表示你的受眾將能夠在符合你組織需求的網域上存取你的文件。
自訂網域可由具有管理員權限的使用者設定。請依照以下步驟設定自訂網域。

啟動自訂網域設定#

你可以在專案的 Share 模組中存取為專案設定自訂網域的選項。只需點擊側邊欄中的 Share Docs 選單,然後在次要選單中前往 Publish 設定頁面。
你會看到一個標題為 Custom Domain 的區段。點擊 Edit 按鈕以啟動自訂網域設定。
設定自訂網域有兩種類型的選項:
1.
CNAME:這是建議選項。它最容易設定和維護。它也是最具彈性的選項,因為它允許你為子網域或根網域設定自訂網域。
2.
Reverse Proxy:此選項較進階,需要你使用內容傳遞網路(CDN),或在自己的伺服器上設定反向代理。建議熟悉這些技術的使用者使用。

設定 CNAME#

這僅適用於你在前一步選擇了 CNAME 選項的情況。
DNS 設定是在 Apidog 之外 進行的,也就是在你網域所使用的 DNS 供應商處進行。
此步驟包含三個部分:
1.
設定 CNAME 記錄
2.
等待變更生效

設定 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 無法正確對你的自訂網域執行例行檢查。
你的自訂網域本身已可受益於 CDN。
再次提醒,請關閉 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。
1.
登入 AWS,並前往 CloudFront。點擊 Create Distribution。
2.
設定你的 distribution 設定。以下是你需要變更的值。
SettingsValue
Origin Domain Name設定為 {projectId}.apidog.io
Nameorigin 的描述。此值可讓你區分同一個 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 NameValue
X-Apidog-Project-ID設定為 {projectId}
TIP
你可以在 Apidog 專案設定中找到 projectId 值。
4.
設定 Default Cache Behavior Settings。以下是你需要變更的值。
SettingValue
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 設定檔中,以進行簡單設定。
Caddy 設定範例:
: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 文件部署到自訂網域的子目錄#

Apidog 的 Reverse Proxy 允許將 API 文件部署到自訂網域的子目錄。例如,你可以將文件部署到 https://example.com 這類網域上的 /api-docs 路徑。當使用者造訪 https://example.com/api-docs 時,他們將存取由 Apidog 託管的線上 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)。

疑難排解#

如果你在設定自訂網域時遇到問題,請透過 Discord 聯絡我們。

你正在使用 Apidog Europe 嗎?#

如果你正在使用 Apidog Europe,請確保你在自訂網域設定中使用的是正確的網域。
Apidog Europe 先前設定中的正確網域是 {projectId}.eu.apidog.com。
Modified at 2026-06-11 10:26:02
Previous
如何在 Apidog 中將 API 分享給協作者?
Next
如何在 Apidog 中建立多版本文件?
Built with