2019-06-14
最近遇到了一个浏览器调用Java插件的问题,前后花了不少时间总算使问题得到了解决,经过这次问题的排查使我对Java插件运行环境有了更进一步的了解。
一、背景及现象
因工作需要在公司VMware EXSi平台上部署了一套DDOS防护系统。主要有以下几个部分组成:
1、 Vision,作用管理DP
2、 Defense Pro,流量清洗,基于IP mode模式
DefensePro是一款实时入侵防御系统(IPS)和DoS防护设备,通过保护应用程序基础架构来维护业务连续性,免受传统的基于漏洞的攻击签名更新,防止已知的攻击,包括蠕虫,木马,僵尸程序,基于SSL攻击和VoIP攻击等。
APSolute Vision服务器从其所有托管的DefensePro设备接收攻击信息。APSolute Vision处理收到的信息并将其存储到APSolute Vision数据库,然后通过APSolute Vision Reporter(AVR)最终展现给用户。AVR基于Java插件运行从APSolute Vision客户端启动,并可生成详细信息报告。
大家都知道Java可以在Windows 10, Windows 8,Windows 7以及macOS平台使用,一般来说只要在操作系统上正确安装了Java便能通过浏览器打开。但比较奇怪的是win10系统下安装了Java使用GoogleChrome还是无法打开AVR,跳转到AVR界面后只能显示出以下窗口,除此没有任何错误提示。
二、问题排查
出现页面无法正常打开后,本人第一反应是服务没有起来?随即检查了服务发现端口是ok的。
后来怀疑浏览器跟Java版本不兼容?然后又花了不少时间专门搭了测试机,后来在Safari浏览器上终于有了一个新的发现。
然后在网上搜索“Please install Java on this browser to view AVRPortal” 在Java官网找到一篇文章(https://java.com/en/download/help/enable_browser.xml),文章大概内容是讲安装Java后Applet无法运行是因为Web浏览器中未启用Java。文章中更是提到了现在很多新版浏览器不再支持Java插件,而且 Chrome从42版本开始便停用浏览器支持插件的标准方式,同时新版Firefox删除了NPAPI插件支持,因此使用Firefox浏览器52版本及更高版本的用户更是无法启用Java。
三、解决方法
这下总算是找到了方向,抱着试试的态度在win7系统下安装Java分别使用GoogleChrome以及Firefox进行尝试,最后终于成功的打开了APSolute Reporter。下面为大家提供上win7系统下的设置方法(win10系统设置方法与win7系统相同)。
一、win7系统下使用GoogleChrome_39_64bit
1、 首先安装jdk1.8.0_202,并且修改Java变量,成功后打开cmd测试显示如下界面:
2、 安装GoogleChrome_39_64bit。使用GoogleChrome打开APSolute Vision,点击AVR跳转到以下界面:
3、 将站点加入Java例外站点,同时在GoogleChrome设置-内容设置-隐私设置中弹出式窗口改为允许或者添加例外:
4、 最后成功打开APSolute Vision Reporter。
二、win7系统下使用Firefox51.0
1、 首先安装32位jdk1.8.0_202(64 位版本的 Firefox 不识别和支持Java插件且安装了32位的Firefox需要配套安装32位Java),并且修改Java变量,成功后打开cmd测试显示如下界面:
2、 安装32位Firefox51.0,打开Firefox工具-附加组件管理器-插件,确认Java插件是否存在:
3、 使用Firefox51.0打开APSolute Vision,点击AVR跳转到以下界面,点击激活Java,同时将站点加入Java例外站点:
4、 最后成功打开APSolute Vision Reporter。
四、思考与总结
关于浏览器无法调用Java的问题困扰了好几天,前后想了不少可能性,最后通过一一测试找出了问题所在。实践总是大于理论,即使理论知识再充足也需要用实践来证明可行性,所以遇到问题需要多思考多实践。
参考链接:
https://www.radware.com/products/defensepro
https://www.radware.com/products/apsolutevision
https://java.com/en/download/help/enable_browser.xml
https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html