【发布时间】:2020-03-18 21:14:47
【问题描述】:
在同一个 AWS EC2 实例上,我运行 2 个 Node.js 应用程序。 第一个充当 API 网关(验证凭据,限制请求)。 第二个负责将信息保存在数据库中。我需要 2 个应用程序,因为及时它们将成为 2 个独立的微服务。目前,将它们托管在同一个实例上会更便宜。
我需要将 POST 请求从第一个应用程序转发到第二个应用程序。其中一个字段包含大量 HTML,无法在 GET 请求中传递(加上编码问题)。
第一个应用程序从浏览器接收 AJAX POST 并使用请求模块转发数据。我正在使用 localhost 调用其他服务。
router.post('/save', (req, res) => {
let json_obj = JSON.stringify(req.body)
let url = "http://127.0.0.1:3000/save"
request.post({
headers: {'content-type': 'application/x-www-form-urlencoded'},
url: url,
form: json_obj
}, function(error, response, body){
res.send(body)
})
});
第二个应用监听数据,但req.body 为空
router.post('/save', (req, res) => {
console.log(req.body)
是否可以在应用程序之间转发数据?还是我应该有另一种方法?
【问题讨论】:
-
不能直接重定向请求吗?当然,您需要在不同端口上运行的应用程序。
标签: node.js api express amazon-ec2 connection