问题标签 [google-appengine-node]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

google-app-engine - Google App Engine 上的 Nuxt.js - 2 个项目,一个在根目录中,另一个在目录中

我有 2 个 nuxt 项目 - 我想在根目录运行一个 - www.example.com,另一个在App Engine上的www.example.com/admin运行

关于如何设置相同的任何想法?

0 投票
0 回答
58 浏览

node.js - Google App Engine 500 错误:进程终止,因为后端已停止

我有一个使用 NestJS/Express 在节点 12 上运行的 App Engine 应用程序。它设置为手动缩放。

每当我使用该命令部署新版本或手动停止版本时gcloud app versions stop,我都会在 App Engine 日志中看到 500 错误:

0.1.0.3 - - [30/Jun/2021:07:32:06 -0700] GET /_ah/stop HTTP/1.1 500.0
进程因后端停止而终止。

我实现了一个 /_ah/stop 端点,它优雅地关闭服务器并使用代码 0 退出进程。当我对 /_ah/stop 执行手动 GET 请求时,服务器很好地关闭并且我看不到任何错误。

我在文档中看到了设置“关闭挂钩”的参考,但据我所知,这对于 Node 项目不存在。

我还确保在本地运行服务器并向 /_ah/stop 发送请求时,服务器会快速关闭并以状态码 0 退出。

关于这里发生了什么的任何想法?

0 投票
2 回答
179 浏览

node.js - Google Cloud Debugger not working on Node.js

My Node.js API service is hosted on google cloud App Engine running in a standard environment. I have followed all the steps but the following message is being thrown by the debug agent:

@google-cloud/debug-agent Failed to re-register debuggee xxx-backend: Error: The file at { does not exist, or it is not a file. ENOENT: no such file or directory, lstat '/workspace/{'

I have this code at the top of my app.ts file: require('@google-cloud/debug-agent').start();

My Node.js version is: 14.17.0

After updating the package and installing it again the error is:

0 投票
1 回答
375 浏览

google-app-engine - F4_1G 是否属于谷歌应用引擎免费层?

基于 GCP 文档 Free Tier 使用限制

App Engine 每天有 28 小时的“F”个实例。

我想知道F4_1G类型也属于每天28小时的免费套餐吗?

F1和F4_1G是如此不同的实例类

0 投票
1 回答
182 浏览

typescript - TypeScript 项目无法部署到针对节点 12 或 14 的 App Engine,但可以与节点 10 一起使用

我有一个 TypeScript 项目,该项目已多次部署到运行节点 10 的 Google App Engine 标准环境中,没有任何问题。但是,当我尝试将 App Engine 项目更新为节点 12 或 14 时(通过engines.nodepackage.json和)中的runtimeapp.yaml,部署失败,将以下内容打印到控制台:

根据以下文档,App Engine 应在devDependencies运行package.json脚本之前安装中列出的模块gcp-build(正如预期的那样,在将 Node 版本设置为 10 进行部署时,它一直在执行此操作)。

https://cloud.google.com/appengine/docs/standard/nodejs/running-custom-build-step

在定位节点 12 或 14 而不是节点 10 时,我找不到任何有关此 App Engine 部署行为发生变化的文档。是否缺少某些配置?还是 Google 在运行脚本devDependencies之前不再安装?gcp-build

这是devDependencies我的部分package.json(TypeScript 在那里):

0 投票
1 回答
98 浏览

google-app-engine - 为什么 Google App Engine 会抛出禁止访问错误?

真的可以在这里使用一些帮助。我在标准环境中有一个 GAE NodeJS 应用程序。直到几天前(09/23)它运行得很好,它会按预期响应请求等。

今天,当我尝试向我的 apppot 网址发出任何请求时,该应用程序会以 403 响应。我 100% 确定这不是代码问题,就好像我在另一个项目中将相同的代码部署到 GAE 一样,它工作正常。此外,唯一的防火墙规则是允许所有流量的通配符。

编辑:添加我从项目中看到的唯一相关的日志条目:

我不记得做过这个改变,我不确定ingressTrafficAllowed之前的值是多少。

0 投票
2 回答
137 浏览

google-app-engine - 尽管 app.yaml 中设置了过期时间,但 App Engine 并未缓存静态内容

我正在为 node.js 应用程序使用 Google App Engine 标准环境。

我有一个以public我的静态文件命名的文件夹。这包含文件,例如chunk-XIAWB55V.js. 我希望这些文件被大量缓存,因为如果内容发生变化,散列文件名会发生变化。

我在我的文件夹中添加了一个静态文件处理程序,app.yaml以将请求重定向/static到我的public文件夹,并通过检查日志确认它有效:对例如https://<redacted>.com/static/javascript/build/prod/chunk-Z4M5HAC7.js的请求在请求日志中并且没有命中我的应用程序。文档暗示应应用 10 分钟的默认缓存。但是,浏览器开发工具显示实际的标头是,并且每次都发送cache-control: no-cache, must-revalidate一个请求(得到 a )。304

我曾尝试向expiration我添加一个参数,app.yaml但它没有任何区别。我也尝试设置标题,app.yaml但没有任何区别。我当前的文件如下所示:

我仍然收到如下回复:

在此处输入图像描述

我在 App Engine 前面使用 Identity Aware Proxy,我从例如这个问题中知道 IAP 和缓存可能混合得不好,但这似乎只是指可能的 IAP 绕过。我的静态文件不敏感,我很乐意接受这种风险。

0 投票
1 回答
79 浏览

node.js - GaxiosError:内部错误 Google App Engine

每周我的 Google App Engine 都会抛出一个错误:

GaxiosError:内部错误 .Gaxios._request ( /workspace/node_modules/gaxios/build/src/gaxios.js:129 )

它每周发生一次或两次,并使我的应用程序(NodeJS)停机约 8 分钟。然后它会恢复,直到下一次错误出现。

有人知道如何解决吗?

0 投票
0 回答
36 浏览

javascript - node_modules 文件夹中带有 Google App Engine / Node.js 标准环境的静态 JS 文件

我已经阅读了谷歌的文档和一些类似的问题,但没有成功调整我的问题的答案。我在Node.js 标准环境中使用Google App Engine ,并且我的大部分应用程序已经正常工作并且配置正确。

现在我正在尝试将npm模块用作我的服务器端应用程序的库代码,以及我用作静态目录的客户端 javascript 应用程序对于这个例子,考虑广泛使用的jquery模块,当然在npm

我相信这个问题在我的app.yaml文件中,提炼到与这个问题相关的部分:

当然,我已经跑了$ npm install jquery。例如,从“服务器端”(我的app.js文件和朋友),以下工作完美:

从我自己的“共享”代码导入也可以从客户端和服务器通过:

但是当我部署并浏览到时https://<myapp>/client/shared/lib/jquery.js,我收到 404 错误..

目标是从我的“客户端”静态 javascript 文件中获取 jquery:

(或目录树中更深层模块的等效相对路径。)

Jquery 可能不是最好的例子,如果它打扰你假装我在谈论“pluralize”库。我打算使用 js 库的许多其他 npm 发行版,并在我的“客户端”静态提供的 javascript 文件和从script:路由中导入/指向的“服务器端”代码app.yaml和/或导入之间共享它们app.js

另外,我知道我可以使用“捆绑器” - 或 cdn - 等,我最终可能会投入生产,但根据所有文档,这个 /should/ 工作。一个正确的答案实际上会告诉我如何使这项工作和/或教我我对 中的和处理程序选项不了解的内容,而不是建议与我当前设置有很大编辑距离的替代方案。static_filesuploadapp.yaml