问题标签 [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.
google-app-engine - Google App Engine 上的 Nuxt.js - 2 个项目,一个在根目录中,另一个在目录中
我有 2 个 nuxt 项目 - 我想在根目录运行一个 - www.example.com,另一个在App Engine上的www.example.com/admin运行
关于如何设置相同的任何想法?
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 退出。
关于这里发生了什么的任何想法?
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:
typescript - TypeScript 项目无法部署到针对节点 12 或 14 的 App Engine,但可以与节点 10 一起使用
我有一个 TypeScript 项目,该项目已多次部署到运行节点 10 的 Google App Engine 标准环境中,没有任何问题。但是,当我尝试将 App Engine 项目更新为节点 12 或 14 时(通过engines.node
在package.json
和)中的runtime
值app.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 在那里):
google-app-engine - 为什么 Google App Engine 会抛出禁止访问错误?
真的可以在这里使用一些帮助。我在标准环境中有一个 GAE NodeJS 应用程序。直到几天前(09/23)它运行得很好,它会按预期响应请求等。
今天,当我尝试向我的 apppot 网址发出任何请求时,该应用程序会以 403 响应。我 100% 确定这不是代码问题,就好像我在另一个项目中将相同的代码部署到 GAE 一样,它工作正常。此外,唯一的防火墙规则是允许所有流量的通配符。
编辑:添加我从项目中看到的唯一相关的日志条目:
我不记得做过这个改变,我不确定ingressTrafficAllowed
之前的值是多少。
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 绕过。我的静态文件不敏感,我很乐意接受这种风险。
node.js - GaxiosError:内部错误 Google App Engine
每周我的 Google App Engine 都会抛出一个错误:
GaxiosError:内部错误 .Gaxios._request ( /workspace/node_modules/gaxios/build/src/gaxios.js:129 )
它每周发生一次或两次,并使我的应用程序(NodeJS)停机约 8 分钟。然后它会恢复,直到下一次错误出现。
有人知道如何解决吗?
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_files
upload
app.yaml