В том же экземпляре AWS EC2 я запускаю 2 Node.js приложения. Первый действует как шлюз API (проверяет учетные данные, регулирует запросы). Второй отвечает за сохранение информации в базе данных. Мне нужно 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)
Возможно ли пересылать данные между приложениями ? Или у меня должен быть другой подход?