node.js - 带有自定义 "company_id" header 的 GET 请求在本地有效,但 header 不存在于 GCP App Engine 中

标签 node.js express google-app-engine google-cloud-platform nestjs

我正在从前端手动附加“company_id” header 。我可以通过浏览器确认标题是正确的并且存在于生产环境中。

它也可以在本地正常运行,没有任何问题,并且可以检索 header 。

但是,当在 GCP 中使用 Nodejs 12 作为 App Engine 部署到生产环境时——自定义 header 将不再出现在任何请求中。

我已经在控制台上记录了所有 header 和整个请求对象,以查看内存中实际可用的内容,并且我可以确认 Express 应用程序没有看到自定义 header 。

感谢任何进一步调试的帮助。

最佳答案

我重现了您的问题并发现了一些有趣的东西,App Engine 正在删除所有带下划线的 header ,我使用 postman 和下面的代码执行了我的测试。

如果您使用 company-id,您将能够在 App Engine 端看到 header 。

'use strict';

// [START gae_node_request_example]
const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.status(200).send(JSON.stringify(req.headers)).end();
});

// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`App listening on port ${PORT}`);
  console.log('Press Ctrl+C to quit.');
});
// [END gae_node_request_example]

module.exports = app;

关于node.js - 带有自定义 "company_id" header 的 GET 请求在本地有效,但 header 不存在于 GCP App Engine 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63925078/

相关文章:

node.js - 在 Electron 应用程序的 Squirrel 事件中执行 createShortcut

javascript - res.send 和 res.render 调用

google-app-engine - 如何下载 GAE 应用程序的 index.yaml 文件?

google-app-engine - Go例程泄漏在哪里?

javascript - 为什么在此示例中图像高度变得如此之大?

node.js - 检查 Mongoose 中是否存在文档(Node.js)

node.js - 使用哈希方法与 nginx 进行负载平衡

javascript - 如何从node.js中的二维数组中获取随机项

javascript - 使用 ES6 Promise 和 BookshelfJS 捕获错误

javascript - 使用 Passport-local 保护 API