我有一个位于 F5 负载均衡器后面的应用程序。该应用程序需要知道初始请求的用户代理和 IP 地址。
例如:
- 用户代理:Mozilla/5.0 (兼容;Googlebot/2.1;+http://www.google.com/bot.html)
- IP 地址:199.xxx
我可以通过读取X_FORWARDED_FOR
应用程序中的标头值从负载均衡器获取 IP。但是,我不确定如何获取用户代理。这些信息是否已传递?
答案1
用户代理肯定会被传递。我们总是在日志中看到它。默认情况下,它应该会传递所有客户端发送的标头。如果您没有看到它,我想您的 F5 一定有一些特殊配置将其删除了。
在您的应用程序中,您是否看不到任何请求或只是某些请求?User-Agent 是一个可选标头,因为 RFC 规定 User-Agents 应该提交,但不必提交。
这实际上并不是您的答案,但我没有资格发表评论。
答案2
通常情况下,反向代理会User-Agent
不受干扰地传递标头 - 但我不能代表 F5 发言。