Google App Engine 模块和自定义域

Google App Engine module and custom domain

我正在尝试将自定义域分配给 App Engine 模块。目前我有 staging.example.com 指向 app-id.appspot.com 并且工作正常但我也想将 api.staging.example.com 分配给 api.app-id.appspot.com.我创建了从 api.staging.example.com 到 ghs.googlehosted.com 的 CNAME 记录,在开发人员 console/appengine/settings/custom 域中添加了 api.staging.domain.com,这是我的 dispatch.yaml:

dispatch:
  - url: "staging.example.com/*"
    module: default
  - url: "api.staging.example.com/*"
    module: api

有什么想法是错误的吗? api.staging.example.com 上对端点的每个请求仅显示 404 错误,我在日志中看不到它,看起来 api.staging.example.com 指向其他地方,对 api-app-id.appspot.com 的所有请求都正常工作。

您正在发出 HTTPS 请求吗? official docs 注意 SSL 证书不支持双通配符域。

Google recommends using the HTTPS protocol to send requests to your app. Google does not issue SSL certificates for double-wildcard domains hosted at appspot.com. Therefore with HTTPS you must use the string "-dot-" instead of "." to separate subdomains

因此您需要将第一个 . 替换为 -dot- 以遵循此模式: https://module-dot-app-id.appspot.com。在你的情况下 api-dot-app-id.appspot.com.

好的,我知道我的问题在哪里 - Google Cloud Endpoints。

Google Cloud Endpoints does not support custom domains.

https://cloud.google.com/appengine/docs/python/endpoints/

https://code.google.com/p/googleappengine/issues/detail?id=9384