在正确获取客户端IP的同时使用Application Insights Javascript代理

时间:2020-03-18 23:10:05

标签: azure-application-insights

很多广告阻止列表都针对Application Insights(AI)JavaScript,并且/或者阻止了将其发送回Azure的数据,因此我决定通过与我的Web应用程序相同的域来代理它避免被阻止。

几乎所有功能都可以正常工作,但是AI日志中记录的位置/客户端IP。而不是记录最终用户客户端IP,而是记录所有pageViews和customEvents等的代理IP。

在代理服务器上,我尝试使用客户端IP地址设置X-Forwarded-For头,但是AI日志中似乎没有什么不同,它仅显示代理IP。我还尝试添加遥测初始化程序来手动设置JavaScript发送的所有数据中的IP:

appInsights.addTelemetryInitializer(envelope => {
    envelope.ext.device.ip = ip;
    return true;
});

网络跟踪看起来很有希望,但是Application Insights忽略了该字段,仍然仅显示了代理IP。

Microsoft的文档seems to suggest表示其服务器遵守X-Forwarded-For标头,并且在JS SDK github页面上,似乎表明可以在数据结构中提供IP。看来好像没有用。

我应该如何与AI通信客户端IP?

0 个答案:

没有答案
相关问题