GCP App Engine添加自定义子域名,无需修改根域名A记录可行吗?
无需修改根域名路由,绑定App Engine子域名的方案
完全可以做到只绑定子域名my-api.my-org-domain.com到你的App Engine服务,且不影响根域名my-org-domain.com的WordPress站点路由,以下是具体步骤和问题排查:
1. 正确完成App Engine子域名绑定流程
- 进入App Engine控制台的「自定义域名」页面,点击「添加自定义域名」
- 在域名选择环节,只勾选子域名
my-api.my-org-domain.com,绝对不要勾选裸域名 - 按照控制台指引完成域名验证(通常是添加一条TXT记录到子域名或根域名,验证完成后可删除该TXT记录,不会影响根域名路由)
- 最后一步Google会提供该子域名对应的DNS配置项,仅需针对子域名添加记录即可,完全不需要修改根域名的IP
2. 配置子域名的DNS记录
- 登录你的域名DNS管理平台(比如域名注册商后台)
- 给
my-api.my-org-domain.com添加一条CNAME记录,目标值填Google提供的ghs.googlehosted.com(以控制台显示的内容为准) - 保留根域名
my-org-domain.com原有的A/AAAA记录,继续指向你的WordPress服务器,完全不用改动
3. 确保子域名路由到my-api服务
- 如果你的App Engine有多个服务,在控制台的「自定义域名」页面找到刚添加的子域名,编辑其服务分配,选择
my-api服务 - 也可以通过
dispatch.yaml配置路由规则,示例代码如下:dispatch: - url: "my-api.my-org-domain.com/*" service: my-api - 部署配置文件:执行命令
gcloud app deploy dispatch.yaml
4. 解决「Cannot GET /」错误
- 你之前直接加CNAME但出现404,核心原因是没在App Engine控制台完成子域名的绑定流程——Google的服务器收到请求后,不知道要把请求转发到哪个App Engine服务,所以返回404。必须完成控制台的绑定和验证,Google才会关联该子域名到你的服务。
- 另外检查
my-api服务的代码,确保根路径/有正确的GET请求处理逻辑,避免后端本身返回404。
内容的提问来源于stack exchange,提问作者Rob Lyndon
相关产品推荐
相关产品推荐

