请问当在前端加上负载均衡服务器后,
有方案继续使用基于 js 的统计代码(比如 cnzz)么?
目前自己能想到的只有:
使用 DNS 负载均衡来替代
改成服务器端利用 X-Forwarded-For 统计(据说很多前端才有的信息无法收集到?)
有什么比较通用的解决方案么?谢谢啦
1
airyland 2016-07-22 21:20:29 +08:00 via iPhone
统计代码在前端还采集不到前端页面信息?
|
2
cesar OP @airyland 我没说清楚吧
比如采用标题中的架构,也就是类似这样: 客户端→负载均衡服务器→Web 服务器 ↑ js 统计 会导致 js 统计获取的用户 IP 全部是负载均衡服务器的 IP 的吧? 所以想看有没有解决办法 |
4
hemingway 2016-07-22 21:53:15 +08:00
可以在负载均衡器上做统计。
|
5
jarlyyn 2016-07-22 21:55:13 +08:00
js 统计不是直接发送到统计服务器的么?
和你的 web 服务器没关系 |
7
cesar OP @jarlyyn 是的,但是我不清楚怎么把 js 在负载均衡服务器就加载;如果是在最后加载,对于 js 而言,采到的 IP 就是负载均衡服务器的 IP 了
|
8
hemingway 2016-07-22 22:55:10 +08:00 via iPhone
@cesar 负载均衡上直接统计源 IP 访问计数,或者可以让负载均衡改写 http 头部,在头部里面加一个真实源 IP 字段,一般负载均衡的 http 代理都有改写头部的功能, web 服务器可以解析头部得到真实源 IP ,进行统计。
|
9
jarlyyn 2016-07-22 23:12:25 +08:00
|
10
aprikyblue 2016-07-23 03:49:48 +08:00 via Android
跟你的负载均衡有毛关系?
“ js 统计获取的用户 IP ” 这是 js 向统计服务发起请求,从而统计服务记录下来访的用户 ip 啊 客户端 → (业务请求)负载均衡服务器→Web 服务器 ↓ js 统计 → (统计请求)统计服务器记录用户 ip |
11
a2659633 2016-07-23 12:05:36 +08:00
根据我的经验,大部分负载均衡产品,如 F5 , A10 之类,都有路由模式,只需要在服务器那里将网管指向负载均衡即可。这样负载均衡就不必做 SNAT ,直接转发请求给服务器,服务器的应答经过网关(负载均衡)能正确回去。
|