我想弄清楚什么是最好的方式是将用户的geoIP信息传递给客户端JavaScript。我为此配置了nginx,并且能够将信息发送到我的节点+ express服务器。通过nodejs传递nginx头到客户端
我不知道下一步是什么。从google搜索我可以看到我试图发送的头文件无法直接被客户端的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