Google Cloud Node.js dispatch.yaml无效

时间:2017-12-04 06:54:24

标签: node.js google-app-engine

我正在使用谷歌应用引擎制作一个带有node.js的网络应用。

我想将https://MY_PROJECT_ID.appspot.com重定向到mycustome域。我跟着这个maual但是没有用。什么问题?

https://cloud.google.com/appengine/docs/flexible/nodejs/how-requests-are-routed#routing_with_a_dispatch_file

dispatch.yaml
dispatch:
  - url: 'fermi.me/' //my custom domain 
    service: default

console
gcloud app deploy dispatch.yaml
Configurations to update:

descriptor:      [./nodejs-getting-started/2-structured-data/dispatch.yaml]
type:            [routing rules]
target project:  [XXXXXXX]

Do you want to continue (Y/n)?  Y

Updating config [dispatch]...done.

即使dispatch.yaml已成功部署,如果我执行'app deploy',重定向也不起作用。我已经在Google云中注册了域名,静态网站也有效。

我找到了根本问题并解决了。

  1. 我已经使用存储桶连接到静态网站。

    https://cloud.google.com/storage/docs/hosting-static-website

  2. App-Engine域设置中的Web控制台出现错误。(消息:“域已映射到Google云平台中的项目”。此maunal中存在严重错误。

  3. https://cloud.google.com/appengine/docs/standard/python/mapping-custom-domains

    1. 示例错误消息。它仅在您已将存储静态网站连接到域时出现。 error : domain is already mapped to a project in google cloud platform

    2. 您可以在gcloud beta中使用命令行工具。 Web控制台出错,但命令行有效。映射域后,您现在可以使用webconsole。您应该添加cnames作为上面的maunal(映射域)解释有一个指南。

    3. https://stackoverflow.com/a/46780534/9049333

1 个答案:

答案 0 :(得分:0)

调度文件仅用于将已经到达您的应用的请求定向到相应的服务/模块。如果请求未与任何dispatch.yaml规则匹配,则会自动定向到default服务(使您的规则变为冗余,BTW)。

调度文件将请求重定向到另一个域(或者确实在应用程序之外的任何地方)。所以你现在处于错误的轨道上。

您需要在应用程序中处理此类重定向。可能相关的起点: