Я пытаюсь выяснить, каким лучшим способом будет передавать информацию geoIP пользователей на клиентский javascript. Я настроил nginx для этого и могу отправить информацию на мой узел + экспресс-сервер.Передача заголовков nginx клиенту через nodejs
Я не знаю, что следующий шаг. От googling вокруг я вижу, что заголовки, которые я пытаюсь отправить, не могут быть напрямую прочитаны js на стороне клиента.
Это то, что у меня есть -
Nodejs--
router.get('/', function(req, res, next) {
res.setHeader("geoip_country_code", req.headers.geoip_country_code);
res.setHeader("geoip_city", req.headers.geoip_city);
res.render('index', { title: 'bla' });
console.log(req.headers);
});
Nginx -
location/{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code;
proxy_set_header GEOIP_CITY $geoip_city;
proxy_set_header GEOIP_LATITUDE $geoip_latitude;
proxy_set_header GEOIP_LONGITUDE $geoip_longitude;
proxy_pass http://app:3000;
}
Как это отличается от 'proxy_set_header', который я уже использую? Могу ли я получить доступ к ним из js клиента таким образом? – charsi
'proxy_set_header' добавить заголовок от клиента к серверу, но' add_header' добавить заголовок от сервера к клиенту. –
Ну ладно, я вижу, что я делаю это неправильно. Можно ли запрашивать заголовки nginx из js клиента? – charsi