在同一个Google App Engine应用程序下设置两个服务(500错误:服务器错误)

我目前有一个运行在Google App Engine标准上的应用程序,nodejs10,我们称之为App1。这个应用程式目前使用CloudSQL资料库。我想开始添加使用相同数据存储和CloudSQL实例的其他服务,因为所有应用程序都使用相同的数据。

App1当前处于运行状态并且可以正常工作。显然,这有它自己的app.yaml,它是这样的,它是默认服务:

env: standard

resources:  
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

handlers:

  - url: /case/upsertCase
    static_dir: public
    secure: always

env_variables:

App2有自己的.yaml文件,称为app2.yaml,看起来像这样,此服务称为app2:

service: app2
runtime: nodejs10
env: standard

resources:  
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

handlers:

  - url: /register/call
    static_dir: public
    secure: always

我通过以下方式部署App1:gcloud deploy app 我通过以下方式部署App2:gclour部署应用app2.yaml

由于某种原因,当我尝试击中app2-dot-app1.appspot.com/register/call时,我得到500。当我尝试击中https://app2.app1.appspot.com/register/call时,我得到“您的连接不是私有的”错误消息。

是否可以在同一个应用中像这样运行两个服务?我已将它们设置为使用相同的端口,对吗?

我一直在摆弄它,并使用谷歌搜索\拖拉搜索,但我找不到任何答案。

dangfangxia 回答:在同一个Google App Engine应用程序下设置两个服务(500错误:服务器错误)

类似您所遇到的情况的问题有时会发生一次。如果您再次遇到此问题,则可以查看以下几点:

您遇到500错误的原因是由于该网站的服务器出了点问题,但是服务器不能更确切地说明确切的问题。

针对此问题的一些解决方案包括刷新您的网页,或者只是稍后再访问以再次访问它。另外,请确保已正确安装或更新了网页上的SSL证书。以下链接提供了有关此类验证的更多详细信息: https://cloud.google.com/appengine/docs/standard/nodejs/securing-custom-domains-with-ssl 您可能需要研究一下Stackdriver,以更好地了解为什么首先发生此错误:https://cloud.google.com/error-reporting/docs/viewing-errors

出现“您的连接不是私人的”错误消息,因为Google不会为appspot.com上托管的双通配域颁发SSL证书。该链接提供了有关如何管理通配符映射的更详尽的解释: https://cloud.google.com/appengine/docs/standard/nodejs/securing-custom-domains-with-ssl#upgrading_to_managed_ssl_certificates

要指出的另一件事是,如果应用程序的top / root目录中的代码位于services目录上方,则该目录可能无法被服务访问。特别是app2.yaml文件可能是造成问题的实际原因。它可能已解释为单一服务应用程序的.yaml文件。查看提供的链接以获取有关此问题的更多详细信息: Multiple Services in Google App Engine Python 3.7

回答您的问题。根据应用程序层次结构,实际上允许您在单个应用程序上运行多个服务(每个应用程序最多免费提供5个服务)。您可能需要查看App Engine概述以了解更多信息:https://cloud.google.com/appengine/docs/standard/nodejs/an-overview-of-app-engine

实际上可以在同一应用程序的两个不同服务上运行相同的端口号。由于您在App Engine中运行不同的服务,因此您已经在运行 这些服务中包含不同IP地址的虚拟机实例。 只要IP地址不同,您就可以使用相同的端口号 两项服务。 https://serverfault.com/questions/288850/running-two-services-on-port-80

,

所以我今天早上来到办公室,看到一个错误:

@Bean 
    TransformerFactory transformerFactory() {
        return TransformerFactory.newInstance();
    }

昨天没有发生。因此,我对.yaml文件进行了一些更改,我昨天也已经进行了更改,以便在节点版本之间从10交换到12,页面开始工作。

同时,我在开发计算机上对npm和node进行了升级,但是除了更改.yaml文件之外,没有更改应用程序中的任何代码。

所以,我不知道为什么它今天早上开始工作,但是确实如此。

本文链接:https://www.f2er.com/3167133.html

大家都在问