在Google App Engine配置多网站:自定义域名无法指定服务问题
解决方案
1. 先确认第二个服务的部署状态
- 用命令行检查已部署服务:
gcloud app services list,确认第二个目标服务(比如site2-service)存在且状态为RUNNING。 - 如果服务没部署,先完成部署:
gcloud app deploy app-site2.yaml --service=site2-service(替换成你的第二个服务配置文件);如果状态异常,查日志排查:gcloud app logs read --service=site2-service。
2. 验证域名所有权
所有要绑定的自定义域名必须先完成Google Cloud的所有权验证(DNS TXT记录或HTML文件验证),未验证的域名无法绑定到指定服务。去Cloud Console的「App Engine > 设置 > 自定义域名」页面,确认第二个域名已通过验证。
3. 用命令行强制绑定域名到服务
如果控制台选不到服务,直接用gcloud命令操作:
- 绑定主域名:
gcloud app domain-mappings create --service=site2-service your-second-domain.com - 绑定子域名:
gcloud app domain-mappings create --service=site2-service sub.your-second-domain.com - 检查绑定结果:
gcloud app domain-mappings list,确认域名和服务的对应关系正确。
4. 检查服务配置文件
确保两个服务的app.yaml里service字段明确且不重复,比如第一个服务是service: site1-service,第二个是service: site2-service,避免默认服务(default)的路由冲突。示例第二个服务的配置片段:
service: site2-service runtime: python39 # 替换成你的运行时环境 instance_class: F1 handlers: - url: /.* script: auto
5. 重置控制台缓存
有时候Cloud Console的缓存会导致服务列表不更新,尝试刷新页面、用隐身模式或换个浏览器,再进入自定义域名页面操作。
内容的提问来源于stack exchange,提问作者agir
相关产品推荐
相关产品推荐

