我正在从前端手动附加“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/