【问题标题】:Setting target url with gcloud使用 gcloud 设置目标网址
【发布时间】:2019-11-21 01:18:47
【问题描述】:

我一直在使用 Google App Engine 启动器的“部署”按钮。我意识到 Launcher 将在 2020 年 7 月结束,因此我正在尝试学习使用 gcloud。我的网站有一个自定义 url,www.xxx.org,但是“gcloud app deploy”上传到 xxx.appspot.com 而不是 www.xxx.org,大概是因为“target url”设置为 xxx.appspot.com .有人可以告诉我我需要使用什么 gcloud 命令将“目标 url”更改为 www.xxx.org,或者其他一些可行的方案吗?我浏览了大量 gcloud 和 GAE 文档以及网络搜索,但无法弄清楚我需要做什么。

【问题讨论】:

    标签: google-app-engine gcloud


    【解决方案1】:

    official documentation 中有一个关于将自定义域映射到您的应用程序的非常好的和完整的指南。正如@DanCornilescu 所说,需要配置,但在部署之前不必这样做。

    基本上,您需要按照指南中的步骤操作:

    1) 通过网站管理员验证您是域的所有者 中环

    2)确保您的域已经过验证,否则您将无法继续执行以下步骤。请注意,只会显示经过验证的域。

    3)如果您需要将您的域的所有权委托给其他用户或服务帐户,您可以通过网站管理员中心页面添加权限

    4)在您验证您的域的所有权后,您可以将该域映射到您的 App Engine 应用

    5)将您收到的资源记录添加到您的域名注册商的 DNS 配置中

    6)通过新域 URL 浏览到您的应用来测试是否成功,例如 www.example.com

    如果您需要对不同的url和子域进行更复杂的映射,您可以随时在dispatch.yaml file中写下路由规则,它们将被成功映射。

    此外,要添加有关 dipatch.yaml 文件的更多信息,它将处理应用程序中的路由,而不是负责应用程序设置的 app.yaml。两个 .yaml 可以存在于同一个应用程序中,并且可以使用以下 gcloud 命令同时部署: gcloud app deploy app.yaml dispatch.yaml

    【讨论】:

    • 单击“部署”启动器按钮上传到 www.xxx.org,所以我的问题似乎与 DNS 之类的东西无关。我需要有一个 dispatch.yaml 文件似乎是合理的,我已经阅读过该文件,但显然我无法正确使用语法(所以我真的很感激一个明确的建议)或者我没有使用gcloud 语句的正确形式(我尝试了“gcloud app deploy dispatch.yaml”),或者我不知道我是否必须修改现有的 app.yaml 文件或以上所有文件,以及以何种方式。这大概是一件微不足道的事情,但我不知道该怎么做。
    • 您部署文件的方式是正确的,至于语法,您在我在回答中分享的第二个链接中有一个很好的示例。我建议您做的是检查我的回答中的第 2 步),并确保您的域已经过实际验证。如果它没有显示在该面板中,您将需要再次执行我在答案中提到的所有步骤。您还可以编辑您的问题并分享您的 dispatch.yaml 文件,以便我确认您是否正确编写。期待听到您对验证过程的了解。
    • 似乎我应该已经过验证,因为启动器“部署”有效。但是我照你说的做了,被告知我无法通过验证,然后我被告知将一些文本复制到 DNS txt 插槽中,尽管事实上确实已经有一个 DNS txt 插槽,但我还是这样做了。相同的内容。我完全不知道如何进行。
    • 谢谢。做到了。最后我通过多次实验发现dispatch.yaml url设置必须是“xxx.org/”,包括最后的斜线,当我部署时,我会看到目标url是xxx.appspot.com。非常感谢您对我的耐心等待!
    • 很高兴听到您成功了!我将编辑安德烈的答案以添加此信息!之后,您可以考虑批准答案,因为它可能对遇到相同问题的其他人有用
    【解决方案2】:

    部署总是到.appspot.com,如果已经配置自定义域,它会自动更新。如果不是,则需要configured(也可以在部署后完成)。

    【讨论】:

    • 点击启动器的“部署”按钮是否会更新 xxx.org 是否意味着我已经正确“配置”了我的应用程序?我在您提供的链接中没有看到任何内容(我之前已经阅读过该文本)似乎告诉我我需要做什么。我显然错过了一些东西。
    • 如果 xxx.org 已更新,则表示配置已完成,因此它也应与 gcloud deploy 一起使用。您应该在开发者控制台中看到这些设置:console.cloud.google.com/appengine/settings/domains
    猜你喜欢
    • 1970-01-01
    • 2020-12-25
    • 2018-04-26
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2011-12-05
    相关资源
    最近更新 更多