【问题标题】:Does my default app have to be deployed to appspot.com?我的默认应用程序是否必须部署到 appspot.com?
【发布时间】:2017-07-12 20:58:47
【问题描述】:

我问了一个关于默认应用的问题,因为它与应用引擎上的微服务相关,得到了great response here,但我还有另一个相关问题。

我的默认应用是否必须可以通过 appspot.com 访问?当我运行它放置它的部署命令时,但我宁愿让它不能像那样访问。我真的只是想要一个满足默认应用要求的半空(如 hello world 大小)应用。

Google 似乎正在将多应用/微服务硬塞到一个最初设置为仅提供由其他模块支持的面向 Web 的应用的环境中。它看起来非常不优雅和hacky。

【问题讨论】:

  • 你应该小心使用app vs service(或module),很容易在GAE相关的帖子中造成混淆。从其他问题的上下文来看,我知道你的意思是service,而不是app :)

标签: python google-app-engine google-cloud-platform microservices


【解决方案1】:

您可以根据使用的 URL 自定义您的应用以不同的方式执行。

例如,您可以使用domain specific routes with webapp2,或者您可以通过检查self.request.url 的值并相应地响应来检查处理程序中的域。

例如,您可以让 myapp.appspot.com 返回 404,但让 www.mydomain.com 向用户提供内容。

【讨论】:

    【解决方案2】:

    这取决于您所说的“可访问”。

    是的,应用程序将在appspot.com 上存在,从某种意义上说,根据Routing via URL 规则,请求可以到达应用程序内某些服务版本的某个实例,最通用的规则是:

    向指定的服务、版本和实例发送请求:

    https://instance-dot-version-dot-service-dot-app-id.appspot.com
    http://instance.version.service.my-custom-domain.com
    

    另外,来自Default service

    默认服务是通过显式指定服务名称来定义的 “默认”或不包括服务的名称参数 配置文件。未指定服务或无效服务的请求 被路由到默认服务。您可以指定默认版本 在适当的情况下,在Google Cloud Platform Console versions tab 中获取服务。

    但您的应用代码对此类请求的响应方式完全取决于您。例如,没有什么可以阻止您的默认服务处理程序简单地返回 404 或您的“Hello world”页面,例如,如果您不希望它做任何其他事情。好像它不会在那里一样。但它仍然充当默认服务的角色。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 2016-12-26
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 2014-12-16
      相关资源
      最近更新 更多