连接自定义域名
使用子域名(例如 blog.example.com)、根域名或子目录(例如 example.com/blog)连接基于 inblog 构建的博客,并提供 DNS 配置指南。
概述
域名设置部分可能需要开发人员协助,尤其是 DNS 配置或代码实现环节。如有需要,我们可提供技术支持会话。
你可以通过以下三种方式之一连接基于 inblog 构建的博客:
- 子域名(例如
blog.example.com) - 根域名(例如
example.com) - 子目录(例如
example.com/blog)

在哪里添加 DNS 记录: DNS 设置必须在管理你域名的地方(例如 Namecheap、GoDaddy、Cloudflare)添加,而不是在你构建网站的地方(例如 Webflow、Framer)。如果你在 Webflow 上构建了网站,但通过 GoDaddy 购买了域名,请在 GoDaddy 中添加 DNS 记录。
在哪里找到域名设置
- 在
inblog.ai/dashboard登录。你将进入你的博客列表。 - 点击你要设置的博客卡片。域名是按博客分别配置的,因此如果你管理多个博客,请确认选中了正确的博客。
- 在左侧菜单中,点击
设置分组标题下的域名。(无需先打开设置界面再在里面寻找——直接点击左侧菜单中的域名即可。) - 在“域名”界面的顶部,选择
子目录、子域名或根域名选项卡,输入你的地址,然后点击开始连接。在“子目录”选项卡上,你接下来需要选择所使用的 Web 基础设施,随后会出现对应的逐步反向代理指南。
如果“域名”界面呈灰色且无法输入,说明该博客使用的是免费套餐。自定义域名功能适用于 Team 套餐(包括 14 天免费试用)。
如果点击卡片后打开的是初始设置界面而非管理界面,请在其中完成域名设置步骤。有关详细信息,请参阅快速上手 inblog中的初始设置部分。
子域名设置
在自定义域名设置中,选择子域名并输入你的域名——无需输入子域名部分。该字段带有固定的 https://blog. 前缀,因此在此处输入 example.com 将始终连接到 blog.example.com。
一个博客一次只能使用一种连接方式,因此无法同时运行
blog.example.com和news.example.com。
点击开始连接获取 DNS 配置说明。在你的 DNS 服务商处完全按照显示的内容添加记录。DNS 更改最多可能需要 24 小时才能生效传播,inblog 会自动检查连接状态。
如果域名由其他人管理,请使用 DNS 记录下方的复制请求消息,并将该消息发送给你的开发人员或域名管理员。其中包含他们需要添加的地址和每条记录。
如果你的 DNS 服务商拒绝了 CNAME 值: 某些服务商(例如 Gabia)要求该值为完全限定域名(FQDN),并显示诸如“值必须以点(
.)结尾”之类的错误。在这种情况下,请在 inblog 提供的确切值末尾添加一个点。例如,如果 inblog 显示abc123.vercel-dns-016.com,请输入abc123.vercel-dns-016.com.。其他服务商(例如 Imweb)则要求不带末尾的点。请遵循你的服务商所要求的格式。
我还可以同时连接 www,或添加第二个域名吗?
不可以。一个博客只能绑定一个自定义域名。 对于子域名和根域名连接,inblog 仅为你注册的地址签发 SSL 证书。它无法接收并重定向未注册地址的请求,并且也没有用于 www 的独立别名字段。
如果你需要将 www.example.com → 重定向至 example.com(例如,因为 Google 已经将 www 版本视为规范网址):
-
仅使用 CNAME 将
www指向 inblog 会导致证书错误,例如ERR_CERT_COMMON_NAME_INVALID——www是一个独立的主机名,不存在对应的证书。 -
请仅在 inblog 中注册你的规范地址,并将
www指向管理你域名或托管服务方的重定向服务(Cloudflare、Vercel、你的 Web 服务器)。在该处签发www证书,然后添加如下所示的永久重定向。对于新规则,我们建议使用 308;若已有正常工作的 301 规则可继续保留,或者当你的服务商仅支持 301 时使用 301。请参阅 308 与 301 的区别以及何时使用:https://www.example.com/* → https://example.com/* -
在规则中保留路径和查询字符串。反向重定向(
example.com→www.example.com)的工作方式相同。
如果你想同时运行两个地址(例如保留 blog.example.com 并添加 example.com/guide):
- 创建第二个博客并将第二个地址连接到该博客。
- 在 inblog 中,订阅和域名连接均按博客划分,因此一个 Team 套餐订阅无法覆盖两个博客。新博客需要拥有自己的订阅——请参阅常见问题解答 (FAQ)。
- 如果你要添加的路径下已存在页面(假设
example.com/guide目前会打开其他内容),将其作为子目录连接将用 inblog 替换该路径。请将现有页面移至别处,或选择一个空闲路径。
子目录(Sub-folder)设置
仪表盘目前提供 Next.js、Vercel、AWS Amplify、AWS CloudFront、Cloudflare、Nginx、Webflow 和 Framer 的设置指南。如果列表中没有你的基础设施,请选择其他 / 咨询。
支持的平台包括:
- Next.js:支持,但静态导出(static export)除外
- Vercel / AWS Amplify:作为托管平台受支持
- Cloudflare:当可以在你自己的 Cloudflare 账户中管理主机名的 Zone、Worker 和 Routes,且现有网站在其 DNS 记录处于
Proxied(已代理)状态下仍可正常运行时受支持。仅在响应头或 IP 查询中看到 Cloudflare 并不满足此要求。 - Framer / Webflow:通过使用 Cloudflare 的反向代理受支持
在使用 Cloudflare 指南之前: 仅当现有网站在处于
Proxied状态下已能正常工作,且目标路径(例如/blog)未使用,或者其现有内容和 URL 已完成迁移时,方可继续操作。若记录为DNS only(仅限 DNS)、使用 SaaS 网站构建工具、使用其他 CDN 或代理,或者账户无法管理 Cloudflare Zone 和 Worker Routes,则需要另行评估。如果该主机名无法保持代理状态,请改用子域名连接。
仪表盘的连接指南还提供了 AWS CloudFront 和 Nginx 的逐步设置说明。
如果你的环境不在该列表中(例如 Apache),请选择其他 / 咨询。任何能够将特定路径代理到外部源站的 Web 服务器都可以通过自定义反向代理进行连接——欢迎通过在线客服与我们联系,我们将与你确认可行性。
在自定义域名设置中选择子目录,并输入你的域名(例如 example.com/blog)。点击开始连接获取完整设置指南。请注意,子目录设置通常需要进行代码实现。
“Web 基础设施”选择器不会改变 inblog 端的任何设置。 它仅决定你看到的设置指南,因此日后切换它对你已连接的域名没有任何影响。
如果在你的 Web 服务器(Apache、Nginx 等)前面已经存在 CDN 或代理(例如 Cloudflare 或 CloudFront),请选择该 CDN,无论源服务器是什么。在请求最先到达的地方处理代理规则更加简便,并且不会改动你的源站配置。

我的域名注册商不在“Web 基础设施”列表中
这是正常现象。该列表询问的是你网站当前的托管服务位置,而不是你购买域名的位置。 屏幕上提示:“选择托管你的网站的基础设施,然后按照下方的匹配指南操作。”它仅列出了 inblog 提供代理指南的环境,因此 Namecheap 或 GoDaddy 等注册商和 DNS 服务商不属于这里的选项。
如果你的服务商同时销售域名和虚拟主机/服务器托管(Gabia、Cafe24 等),请根据你的网站实际运行的 Web 服务器(通常是 Apache 或 Nginx)来选择,而不是看服务商的名称。Nginx 选择
Nginx;Apache 或任何你无法确认的环境,选择其他 / 咨询。
该列表包含:NextJS、Vercel、AWS Amplify、AWS CloudFront、Cloudflare、Nginx、Webflow、Framer 和 其他 / 咨询。(韩语仪表盘还会显示 Cafe24 和 Imweb;选择这两者会提示该环境不可使用子目录连接。)
如何决定:
- 如果你的网站前端有 CDN 或代理(例如 Cloudflare 或 AWS CloudFront),无论源服务器是什么,都请选择该 CDN。
- 否则,请选择实际托管该网站的服务器或平台(
Nginx、Vercel、NextJS、Framer等)。 - 如果网站是用未列出的工具构建的(WordPress、PHP),请根据其运行的服务器来选择,而不是构建它的工具。运行在 Nginx 上的 WordPress 选择
Nginx;运行在 Apache 上的 WordPress 未列出,因此请选择其他 / 咨询。 - 如果你无法确定,请选择
其他 / 咨询——这会开启与我们的在线客服会话,我们将与你一起确认可行性。
如果你的网站是由外包公司构建的,请向他们询问两件事
- 目前托管该网站的 Web 服务器或托管服务是什么(Nginx、Apache、Vercel 等),以及前面是否部署了 CDN(例如 Cloudflare 或 CloudFront)。
- 他们是否可以仅为
/blog和/blog/*添加一条反向代理(重写/rewrite)规则。该规则必须是 rewrite(重写),而不是 redirect(重定向)。
子域名连接需要选择 Web 基础设施吗?
不需要。Web 基础设施选择器仅在子目录连接时出现。
子域名(blog.example.com)和根域名(example.com)连接完全不会接触你现有网站的服务器——你只需添加 DNS 记录即可——因此根本不会出现该界面。如果你看到了基础设施列表,说明你目前正在进行子目录连接流程。
如果你无法在网站服务器上添加代理规则,在“域名”选项卡中切换为子域名连接通常是更快捷的方法:它只需要在管理你域名的服务商处添加 DNS 记录即可。
AWS CloudFront 子目录设置
如需使用 AWS CloudFront 将 inblog 配置在子目录下,请查看以下设置步骤。
- 使用托管你主网站的现有 distribution,或者如果尚未配置 CloudFront,则创建新的 distribution。
- 将 Distribution name 设置为
inblog proxy,并将 Domain 设置为example.com。 - 将 Origin type 设置为
Other,Custom origin 设置为proxy.inblog.dev,Origin path 设置为/{subdomain}。 - 将 origin request policy 设置为
Managed-AllViewerExceptHostHeader,以便 CloudFront 不会将访问者的Host标头转发给proxy.inblog.dev。 - 创建一个用于 URI 重写的 CloudFront Function 并粘贴以下代码。
function handler(event) {
var request = event.request;
var uri = request.uri;
var basePath = "/blog";
var host = request.headers.host && request.headers.host.value;
if (host) {
request.headers["x-inblog-public-host"] = { value: host };
request.headers["x-forwarded-host"] = { value: host };
}
request.headers["x-forwarded-prefix"] = { value: basePath };
if (basePath === "/") {
return request;
}
if (uri === basePath) {
request.uri = "/";
return request;
}
if (uri === basePath + "/") {
request.uri = "/";
return request;
}
if (uri.startsWith(basePath + "/")) {
request.uri = uri.substring(basePath.length);
return request;
}
return request;
}
- 为
/blog、/blog/*和/robots.txt添加 behavior。 - 将函数发布(Publish)为
Live,然后将其关联到全部三个 behavior 的Viewer request事件。
部署完成后,请在终端中验证以下 URL。
curl -I https://example.com/blog
curl -I https://example.com/robots.txt
CloudFront 返回 502 错误
首先,确保你没有将 Origin path 留空。子目录连接使用的是 Custom origin proxy.inblog.dev 以及 Origin path /{subdomain}——而不是单独的 CNAME 值。
如果你的设置与此一致但仍持续出现 502 错误,请按顺序检查以下项目。大多数情况下都是遗漏了其中一项。
- 全部三个 behavior(
/blog、/blog/*和/robots.txt)均使用proxy.inblog.dev源站。 - 全部三个 behavior 均使用
Managed-AllViewerExceptHostHeader源请求策略(origin request policy)。如果转发了访问者的Host标头,源站将无法处理该请求。 - CloudFront Function 已发布为
Live——仅保存是不够的。 - 该函数已关联到全部三个 behavior 的
Viewer request事件。 - Distribution 已完成部署(Deployed),包括你最近所做的更改。
如果上述所有项目均确认无误但 502 错误依旧存在,请将以下三条命令的输出发送给我们。将通过 CloudFront 的请求与直接向源站发送的请求进行对比,有助于我们定位原因。
curl -I https://example.com/blog
curl -I https://example.com/robots.txt
curl -I https://proxy.inblog.dev/{subdomain}
Apache 子目录设置
Apache 不在仪表盘的基础设施列表中,因此请选择其他 / 咨询并自行将反向代理规则添加到 Apache 中。请将 example.com、/blog 和 {subdomain} 替换为你自己的值。
首先,确认这些规则应该放在哪台服务器上。你购买域名的公司(注册商/域名服务器)通常并不是实际托管你网站的机器。如果你的域名服务器位于某托管服务商处,而网站本身运行在 AWS EC2 实例上的 Apache 中,则代理规则应写入该 EC2 实例的 Apache 配置中,而不是托管服务商的 DNS 界面中。
将以下内容添加到托管你网站的 VirtualHost 中(如果你使用 HTTPS,则为 443 端口的 VirtualHost)。
SSLProxyEngine On
ProxyPreserveHost Off
<Location "/blog">
RequestHeader set X-Inblog-Public-Host "expr=%{HTTP_HOST}"
RequestHeader set X-Forwarded-Host "expr=%{HTTP_HOST}"
RequestHeader set X-Forwarded-Prefix "/blog"
</Location>
ProxyPass "/blog" "https://proxy.inblog.dev/{subdomain}"
ProxyPassReverse "/blog" "https://proxy.inblog.dev/{subdomain}"
ProxyPass "/robots.txt" "https://proxy.inblog.dev/{subdomain}/robots.txt"
ProxyPassReverse "/robots.txt" "https://proxy.inblog.dev/{subdomain}/robots.txt"
ProxyPass "/blog"也会转发/blog下的所有内容,因此你无需为单独的文章 URL 配置独立规则。<Location "/blog">内的两行RequestHeader告知 inblog 访问者实际浏览的地址(example.com)及其所在的子目录(/blog)。代理会剥离这两者,而分析统计需要它们来正确归属文章 URL。路由本身从不读取它们,因此即使不包含它们,博客也能继续工作(它们需要mod_headers模块)。请保留在<Location>块内部:如果放在 VirtualHost 作用域内,它们将被附加到你网站的每一个请求中,可能会改变你的应用程序构建其 URL 的方式。ProxyPreserveHost Off是关键行。如果访问者的Host标头原样转发,inblog 将无法处理该请求。它的作用与 CloudFront 的Managed-AllViewerExceptHostHeader策略以及 Nginx 的proxy_set_header Host proxy.inblog.dev相同。- 如果你已拥有自己的 robots.txt,请跳过
/robots.txt规则。请参阅下文的子目录设置会覆盖我现有的 robots.txt 吗?
启用所需模块、测试配置并重新加载。
Ubuntu / Debian
sudo a2enmod proxy proxy_http ssl headers
sudo apachectl configtest
sudo systemctl reload apache2
Amazon Linux / CentOS / RHEL(这些模块通常已默认启用)
sudo apachectl configtest
sudo systemctl reload httpd
一旦下方两个 URL 均返回 200,inblog 域名界面上的状态就会自动切换为 已连接。
curl -I https://example.com/blog
curl -I https://example.com/robots.txt
如果你没有编辑 VirtualHost 文件的权限(sudo),请让服务器运维人员应用上述配置。
我的子目录博客返回 ERR_TOO_MANY_REDIRECTS
博客路径陷入了重定向循环,完全无法加载。原因通常是你自己网站上的 /blog 规则。以下是两种最常见的情况。
1. 必须是 rewrite,而不是 redirect
将 /blog 传递给 inblog 需要使用 rewrite(反向代理)——地址保持不变,你的服务器返回 inblog 的响应。而 redirect 会使 /blog 请求重新指向 /blog,从而导致无限循环。
/blog → https://proxy.inblog.dev/{subdomain}
/blog/:path* → https://proxy.inblog.dev/{subdomain}/:path*
2. inblog 与你网站规范地址之间的 www 形式不一致
如果你的网站将 example.com(非 www)视为规范地址,但在 inblog 上注册的地址是 www.example.com/blog,则 www 与非 www 之间的重定向会来回弹跳。请统一步调,使用同一种形式。
- 在 inblog 的域名选项卡上注册地址时,使用的形式应与你网站作为规范地址的形式保持一致。
- 在主机的域名重定向设置中,仅单向应用
www→ 非 www 合并——而不要将其配置为针对/blog的特定规则。
如何判断是哪一方的问题
比较每个地址的响应标头。如果最后一条命令返回 200,通常是你网站的重定向规则需要修复——请注意下面提到的特例。如果它返回 3xx,则需要检查 inblog 端——请通过在线客服将该输出发送给我们。
curl -I https://example.com/blog
curl -I https://www.example.com/blog
curl -I https://proxy.inblog.dev/{subdomain}
如果规则已经是
rewrite且proxy.inblog.dev返回200,但循环依然存在,请检查第一条命令响应中的location标头。如果它将你重新带回刚才请求的地址,那么你这边再做任何更改都无法解决。请停止修改规则,并通过在线客服将该完整响应标头发送给我们。
域名卡片上的域名连接检查警告可能也是由同一原因引起的。它也可能在遇到防火墙拦截或偶发故障时出现,一旦代理规则正常工作,它将在下次检查时自动清除。有关每种消息的详细说明,请参阅域名卡片上的连接检查警告是什么意思?。
我的博客昨天还好好的,现在返回 404
inblog 没有任何变动,但整个 example.com/blog 都返回 404。最常见的原因是你网站上的重新部署、CDN 更改或防火墙调整导致 /blog 代理规则丢失或被覆盖。
首先:不要在 inblog 中断开域名连接。 移除并重新添加连接不会恢复你网站的代理规则——这只会迫使你重新进行域名验证。
1. 确认你看到的是哪个 404 页面
404 页面的外观可以告诉你请求到达了哪一步。
| 你看到的界面 | 辨识特征 | 其代表的含义 |
|---|---|---|
| 你自己的网站 404 | 完全没有 inblog 元素——即你现有网站的错误页面 | 请求从未到达 inblog。请检查你网站的 /blog 代理规则是否仍然存在。 |
| inblog 营销网站的 404 | 巨大的 404 数字,带有 inblog 顶部导航(Showcases、价格、开始使用)、返回首页按钮以及 文档 / 网站地图 / llms.txt 链接 | 请求被转发到了 inblog 营销网站(inblog.ai),而不是你的博客。请确认你的代理规则目标为 https://proxy.inblog.dev/{subdomain}。 |
纯文字的 This page could not be found. | 仅带有这一行英文的空白页面——没有任何导航、按钮或链接 | 请求已到达 proxy.inblog.dev,但未找到对应的博客或文章。请检查规则末尾的**博客地址({subdomain})**是否丢失或有误。如果仅在某一篇文章上发生,请检查该文章是否已取消发布、被删除或更改了别名(slug)。 |
2. 通过发起请求排查故障方
curl -I https://example.com/blog
curl -I https://proxy.inblog.dev/{subdomain}
如果第二条命令返回 200,说明 inblog 正常,你只需恢复网站上的 /blog 规则即可。如果第二条命令也失败,请通过在线客服将该输出发送给我们。
3. 回溯近期发生的变化
- 网站重新部署——如果代理配置不属于构建输出的一部分,每次部署都会抹掉该规则。
- CDN 或 WAF 规则变更,或者新添加的防爬虫/Bot 防护策略。
- Web 服务器配置替换、证书更新或类似的服务器维护工作。
4. 同时检查仪表盘警告
如果设置 → 域名显示警告,下一节将解释每条消息的含义。
域名卡片上的“连接检查警告”是什么意思?
inblog 会定期检查你连接的域名是否确实在为该博客提供服务,并在未收到预期响应时在设置 → 域名下显示域名连接检查警告。
仅该警告本身并不会阻止访客访问你的博客,并且一旦后续检查成功,它就会自动清除。不同的消息指向不同的原因。
| 显示的消息 | 含义及应对措施 |
|---|---|
| We couldn't finish the connection check on our side / We couldn't confirm the latest connection check | 我们未能从己端完成检查。无需任何操作——我们会自动重新检查。 |
| DNS looks correct. We're waiting for the HTTPS certificate… | DNS 设置正确。通常需要几分钟时间,请耐心等待。 |
| Your DNS records don't match what inblog expects | 请对比域名设置中显示的值与你 DNS 服务商处的记录。 |
| Domain ownership still needs to be confirmed… | 请添加域名设置中显示的 TXT 记录。 |
| This domain is already connected to another blog | 请通过在线客服与我们联系,我们会为你进行迁移。 |
| (address) is serving another blog instead of this one | 你的代理规则指向了 proxy.inblog.dev/{subdomain} 中的错误博客。请更正规则中的博客。 |
| (address) responded, but the page it returned isn't served by this blog | 你的代理规则将请求转发到了 inblog 以外的其他地方。请检查规则的目标地址。 |
| (address) returned HTTP (code) | 你的网站返回了该状态码。一旦网站恢复正常响应,警告会自动清除。 |
| We couldn't reach (address) | 我们无法连接到你的网站。一旦你的网站恢复,警告会自动清除。 |
| (address) answered our check with HTTP 403 | 防火墙或防爬虫保护可能过滤了我们的检查请求。请将其放行。 |
子目录设置会覆盖我现有的 robots.txt 吗?
设置指南中包含一条规则,在代理博客路径(/blog、/blog/*)的同时将 /robots.txt 代理至 inblog。该规则是为尚无 robots.txt 的网站准备的。如果你已经维护了自己的 robots.txt,请不要原样应用该规则。
一个域名只能有一个 robots.txt,它在根路径下提供服务,并适用于其下的所有路径。代理 /robots.txt 意味着将返回 inblog 的文件而不是你的文件,因此你原有的所有 Disallow 规则都将失效。
如果你已经拥有 robots.txt,请选择以下方式之一:
1. 仅移除 /robots.txt 规则(推荐)
- 保留博客路径(
/blog、/blog/*)的代理规则,仅删除/robots.txt规则。 - 在你现有的 robots.txt 中添加博客的网站地图:
Sitemap: https://example.com/blog/sitemap.xml
- 确认你现有的任何
Disallow规则都不会屏蔽博客路径(/blog)。
2. 保留代理并在 inblog 内编辑 robots.txt
- 前往仪表盘中的设置 → SEO 工具 → Robots.txt(在付费套餐且已连接自定义域名后可用)。
- 将你现有的规则粘贴到此处,并保留博客网站地图行。无论你在此处保存什么内容,都将作为
example.com/robots.txt的响应提供。 - 编辑器预填充了 inblog 生成的默认内容(允许所有爬虫,外加网站地图 URL)。完全清空并保存即可恢复为该默认设置。
你无需自行维护网站地图。 配置好代理后,每当你发布或编辑文章时,inblog 都会自动重新生成
example.com/blog/sitemap.xml。你这边无需上传或刷新任何 xml 文件。
子目录与 Google Search Console
当你连接子目录(例如 example.com/blog)时,你的博客流量会被包含在现有的根域名 Search Console 资源中。如果你希望单独分析仅博客部分的数据,可以添加一个额外的仅此博客地址资源:
- 资源类型:URL prefix
- URL:
https://example.com/blog
这个独立资源同样需要进行自己的 HTML 标签验证。请在 inblog 仪表盘的“设计”选项卡 →“高级设置”(代码注入)中,为该资源添加对应的 meta 标签。
点击“开始连接”毫无反应,或弹出错误窗口阻止进入下一步
这是在添加 DNS 记录之前的步骤——连接本身未能启动。
如果请求被拒绝,“域名”界面会在地址字段旁或弹窗中显示错误。在重试之前,请检查以下原因。
请按顺序检查以下项目:
- 确认你使用的是付费套餐。 连接自定义域名是付费套餐功能,因此在免费套餐上连接请求会被拒绝。
- 确认你的账户有权限连接域名。 只有该博客的所有者(owner)、管理员(admin)或编辑(editor)——且已接受邀请——才可以连接或断开域名。
- 不要在短时间内频繁连接和断开连接。 域名连接/断开请求限制为每小时 10 次。超出该限制后,后续的所有尝试都会被拒绝且无法推进。这并不代表配置有误——只需等待大约一小时后再试一次即可。
- 检查输入格式。 子域名选项卡已在字段前加上了
https://blog.,因此只需输入example.com——不要带https://或www。子目录选项卡则需要完整路径,例如www.example.com/blog。 - (子目录)确认你输入的域名在互联网上已经可以解析。 在启动连接之前,inblog 会在公共 DNS 中查找
www.example.com/blog的域名部分(www.example.com)。如果该确切主机没有公共 A、AAAA 或 CNAME 记录,查找就会失败,请求也会被拒绝。(如果你输入了www,则记录必须存在于www主机上。)
子目录连接是将你的博客叠加到已经上线的网站上。 此步骤仅检查 DNS 记录是否存在,但后续步骤需要你在该网站上添加反向代理规则。请先添加指向现有网站的 DNS 记录,确认
https://www.example.com能正常打开,然后再开始连接。在 Cloudflare 上,该记录必须处于Proxied状态。如果这是一个全新域名且背后尚未搭建网站,则子目录连接并不适合——因为没有现成网站可以放置代理规则。此时请改用子域名(如
blog.example.com);子域名和根域名连接只需添加 inblog 提供的 DNS 记录即可,因此不需要已有网站。
博客列表中的 (未验证) 是什么意思?
添加 DNS 记录后,inblog 仪表盘的博客列表中的域名状态可能会显示为 (未验证)。这意味着 inblog 尚未确认你的 DNS 记录。常见原因:
- DNS 记录尚未添加,或填写的数值不正确。
- 做出更改后,DNS 传播最多需要 24–48 小时。
一旦状态变为 (已验证),即表示 DNS 确认完毕。域名可能还需要几分钟时间才能完全正常访问。
“域名”选项卡显示“正在签发 SSL 证书”。我只需要等待吗?
大多数情况下,是的。 除非你在域名上设置了 CAA 记录,否则无需进行其他操作。“正在签发 SSL 证书”仅在你的 DNS 记录确认通过之后才会出现,此时 HTTPS 设置是最后的剩余步骤。这表明你的记录已经通过了验证。
对于子域名和根域名连接,“域名”选项卡会显示以下四种连接状态之一:
| 状态 | 含义 | 应对措施 |
|---|---|---|
需要设置 DNS 记录 | 我们列出的记录尚不可见 | 在你的 DNS 服务商处添加记录 |
正在检查 DNS 记录设置 | inblog 正在查询你的记录 | 稍等片刻 |
正在签发 SSL 证书 | 记录已确认,正在准备 HTTPS | 等待 |
已连接 | 连接完成 | — |
子目录连接则会显示另一组由三种状态构成的流程:
需要设置反向代理、正在检查反向代理连接和已连接。
DNS 更改最多可能需要 24–48 小时才能传播完毕,证书签发后,网站可能还需要几分钟才能打开。
- 如果你在域名上设置了 CAA 记录,也请检查该记录——它可能会阻止证书签发。
- 如果在“正在签发 SSL 证书”状态停留超过一天,请将你正在连接的地址以及截图发送给我们。
域名卡片显示“Could not find nameservers for this domain.”
inblog 会查找你所输入地址背后的根域名的域名服务器(例如 blog.example.com → example.com),以便告知你应在哪个 DNS 服务中添加记录。该警告意味着该查询没有返回任何结果。请检查以下事项:
- 域名拼写正确。
- 域名确实已注册且未过期。
- 已在你的域名注册商处分配了域名服务器(购买后立即查看可能为空)。
该警告仅反映我们用于告知你应使用哪个 DNS 服务的查询结果——并不会阻碍验证。如果域名确实未分配任何域名服务器,你添加的记录也将无法解析,因此请先在注册商处完成域名服务器设置。如果在添加记录后连接正常进行,你可以忽略此警告。
我自己能打开,但其他人打不开我的博客
有时域名状态显示为 “已验证” 且你这边博客加载正常,但你分享链接的人却无法访问。这通常不是域名配置问题——他们所在的网络(家庭 Wi-Fi、移动运营商、办公室网络)在其 DNS 缓存中仍保留着旧状态。DNS 更改在不同网络上的生效速度不同,最长可持续 24–48 小时,因此公共 DNS 可能已经正确,但某些网络仍无法解析该地址。
应对措施:
- 分享完整地址(例如
https://blog.example.com),而不是部分地址。 - 让无法访问的人尝试使用移动数据网络代替 Wi-Fi,或稍后再试。
- 如果在 24–48 小时后特定网络仍无法访问,请将使用的确切地址以及该环境下的错误截图发送给我们。
我可以把子域名博客迁移到子目录吗?
可以。在“域名”选项卡上将连接类型切换为子目录并注册新地址(例如 example.com/blog)。请注意,一个博客一次只能使用一种连接类型,因此 blog.example.com 和 example.com/blog 无法并行运行。
会自动处理的事项
- 文章别名(slug)不会改变。仅主机和前置路径有所不同,因此无需对每篇文章逐一处理。
- 一旦新连接通过验证,规范网址(canonical URL)、网站地图、RSS 以及分类/作者页面地址都会切换到新地址(缓存可能需要几分钟才能同步更新)。
- API 和 CLI 自动化(Make、Zapier、n8n 等)不受影响。 API 密钥绑定在博客本身而非自定义域名上,因此更改连接类型不会使其失效。
你需要自行处理的事项
- 自行配置从旧自定义子域名(
blog.example.com)发起的永久重定向(建议使用 308)。 一旦断开连接,inblog 将不再响应该主机,因此请在管理域名或托管服务的平台中添加blog.example.com/{slug}→example.com/blog/{slug}规则。由于 slug 未变,只需一条替换主机并添加/blog前缀的规则即可。 - 首先将
blog.example.com的 DNS 记录从 inblog 移开,否则重定向规则不会生效——如果旧 CNAME 仍然存在,请求将继续发送给 inblog。 - 默认的 inblog 域名(
xxx.inblog.io)与你的旧自定义域名具有不同的重定向行为。对于子域名和根域名连接,当域名已验证且博客拥有符合条件的 Team 或更高级别套餐(或有效试用期)时,默认域名会自动重定向。对于子目录连接,默认域名的重定向取决于代理设置:使用默认域名作为源站的代理如果发生回跳,可能会陷入重定向循环。在依赖该重定向之前,请通过在线客服联系我们以检查你的配置。规范网址会单独将子目录地址标示为首选 URL。你的团队仍必须配置来自旧自定义域名的重定向。
切换期间博客会宕机吗?
在验证新的代理设置后,请检查博客是否能在新的子目录地址下正常加载。此外,请分别检查默认域名的重定向行为和旧自定义域名的重定向规则。除了添加 /blog 路径规则之外,你现有的网站不会受到任何改动。
搜索引擎需要时间重新索引更改后的地址。请设置从每个旧地址到其对应新页面的永久重定向。对于新规则,我们建议使用 308,但无需更改现有的正常工作的 301 规则。重定向能指示新地址;但它们并不能保证收录、排名或流量。
更改域名后,文章内的链接和 CTA 按钮也会更新吗?
不会——写在文章中的地址会保持原样。 规范网址、网站地图、RSS 以及分类/作者页面会针对新域名重新生成,但以下两项保存在文章本身中,不会随之自动更新:
- 正文中的绝对地址(指向
https://old-domain/...的链接、图片或按钮) - 每篇文章底部 CTA 按钮上的 URL
- 你自行在文章中输入的规范网址(canonical URL)。 文章独立的规范网址优先级高于自动生成的网址,因此它会继续指向旧域名。
底部 CTA 可以批量修改。 在文章管理中,选择文章并点击编辑打开批量编辑对话框,然后开启 CTA 设置,并在 CTA 链接 下输入新地址,即可一次性应用到所有选中的文章。
- 批量编辑会将相同的值覆盖到所选文章中。它没有按文章逐个执行“旧域名 → 新域名”的查找替换功能,因此如果各文章链接不同,请将共用同一地址的文章分组并分批应用。
- 正文内的链接不在批量编辑覆盖范围内。 请打开文章并在其中进行编辑。
- 旧地址上的永久重定向会将访客带到新地址,但保存在文章内的链接仍将指向旧域名。
当每篇文章的 CTA 链接都不同且你只想替换域名时
如果你有数百篇文章且各自的 CTA 链接都不相同,导致批量编辑的“全局相同值”无法满足需求,你可以通过 Posts API 仅替换域名。 无需等待专属功能的推出。
-
在左侧菜单的
设置→API 密钥下,签发一个包含posts:read和posts:write权限作用域的 API 密钥。 -
使用
page[number]和page[size]逐页调用GET /api/v1/posts,以读取每篇文章的cta_link。 -
仅保留其值包含旧域名的文章。
-
保持路径、查询参数和哈希锚点不变,仅将域名替换为新域名。
-
对每篇文章发送带有
cta_link字段的PATCH /api/v1/posts/{POST_ID}。请求体如下所示:{ "data": { "type": "posts", "attributes": { "cta_link": "https://new-domain/path" } } } -
重新读取文章,确认没有残留的旧域名。
仅发送 cta_link 不会影响正文、标题和发布状态。请注意,这确实会更新每篇文章的 updated_at,因此你处理的每篇文章在网站地图中的 lastmod 值都会变为该日期。我们建议先在几篇文章上试运行并在确认结果后再全量执行。有关确切的请求格式,请参阅 API 文档。
如果你无法自行执行该操作,请通过在线客服联系我们并提供你的博客地址。
没有域名?没关系。
如果你没有自定义域名,可以在设置过程中选择“I don't own a domain”选项,继续使用默认的博客域名(例如 example.inblog.io)。你可以随时升级到自定义域名。
如何在主网站导航中添加“博客”选项卡?
inblog 无法控制你主网站的导航菜单。要添加博客链接,请在构建主网站所用的工具(例如 Webflow、Framer、WordPress 或你的 CMS)中更新导航。
将你的 inblog 博客地址用作链接目标:
- 子域名:
https://blog.example.com - 子目录:
https://example.com/blog
在连接自定义域名之前,你可以临时使用默认的 inblog 域名,例如
https://example.inblog.io。
如何让博客顶部的 Logo 链接回我的主网站?
在 inblog 仪表盘中,前往设计选项卡 → Header。在该处你可以设置 Logo 图片以及访客点击时跳转的 URL。输入你的主网站 URL 即可让访客重定向到你的主页。
最后更新 2026-10-14