默认情况下,你的文档可通过 [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。| 设置 | 值 |
|---|
| Origin Domain Name | 设置为 {projectId}.apidog.io |
| Name | 源站的描述。此值可让你区分同一分配中的多个源站,因此必须唯一。 |
| Origin Protocol Policy | 设置为仅 HTTP |
| Alternate Domain Names (CNAMEs) | 设置为你的自定义域名(与你在自定义域名设置期间在 Publish 设置中配置的域名相同) |
| SSL Certificate | 设置为存储在 AWS Certificate Manager (ACM) 中的自定义域名 SSL 证书。 |
3.
提供 Origin Custom Headers 的信息(只有在你提供 Origin Domain Name 后,Header Name 和 Value 字段才会出现)
| Header Name | 值 |
|---|
| X-Apidog-Project-ID | 设置为 {projectId} |
你可以在 Apidog 项目设置中找到 projectId 值。
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"
}
}
}
}
你可以在 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 是示例自定义域名。请将其替换为你的实际自定义域名。
启用 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。