我的默认应用程序是不是必须部署到 appspot.com?
Posted
技术标签:
【中文标题】我的默认应用程序是不是必须部署到 appspot.com?【英文标题】: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
:)
【参考方案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”页面,例如,如果您不希望它做任何其他事情。好像它不会在那里一样。但它仍然充当默认服务的角色。
【讨论】:
以上是关于我的默认应用程序是不是必须部署到 appspot.com?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google App Engine 中设置我的默认版本
AWS Elastic Beanstalk:我是不是必须使用完整的“/node_modules”和“/bower_components”部署我的应用程序并编译 sass 和其他依赖项?