使用弹性负载均衡器时无法检测到浏览器

使用弹性负载均衡器时无法检测到浏览器

注:我已在堆栈溢出但我认为它可能与这个论坛更相关。


我想阻止用户在 Internet Explorer 中使用我的网站。

我想要做的是在服务器端检测他们的浏览器,如果是 Internet Explorer,我会将他们重定向到一个页面,显示“不支持 IE”

我尝试使用Browser和检测浏览器UserAgent,在开发环境中,我得到了以下值:

var browser = HttpContext.Current.Request.Browser;     // <-- InternetExplorer
var userAgent = HttpContext.Current.Request.UserAgent; // <-- Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

但是,当我在测试环境中运行相同的代码(测试服务器位于应用程序负载均衡器后面)时,我得到以下值:

var browser = HttpContext.Current.Request.Browser;     // <-- Unknown
var userAgent = HttpContext.Current.Request.UserAgent; // <-- ELB-HealthChecker/2.0 

我不确定 Application Load Balancer 是否会删除UserAgent标头?如果会,如何防止这种情况发生?

相关内容