У меня есть этот узел / express приложение, работающее на герою. Мне нужно сохранить IP-адреса посетителей.
Я установил доверенный прокси в приложении https://expressjs.com/en/guide/behind-proxies.html
app.set('trust proxy' , true);
И затем в моей конечной точке я получаю IP-адрес из объекта запроса как req.ip
app.post('/api/send-data', (req, res) => {
let data;
// find the user's ip address
const ip = req.ip;
console.log(request came from ${ip});
}
Он работает нормально, но проблема в req.ip
, возвращает либо ipv6 или ipv4 и я хочу только сохранить ipv4 пользователя, как я могу это сделать?
Я прочитал узел / express Документация и настроить мое приложение для получения запросов от IPv4
app.listen(port, 0.0.0.0)
Но все же я вижу запросы от IPV6 адресов. Это потому, что запрос поступает к маршрутизатору heroku, а затем поступает в приложение, а маршрутизатор heroku передает IP-адрес пользователя в заголовке x-forwarded, поэтому приложение всегда считает его запросом от ipv4? Если да, то как это исправить?