- 在下面这些情形下,我们会需要部署 Smartbi 的代理服务器。i)Smartbi 在集成到第三方系统时,遇到了跨域访问问题,则需要在第三方系统的应用服务器上部署 smartbi_proxy,然后通过其间接访问 Smartbi 应用。ii)把 Smartbi 部署在内网隔离环境下,但同时希望可以在外网上访问,我们就可以在外网上部署 smartbi_proxy,通过其代理访问内网的 Smartbi 应用。具体参考如下。
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
文档目录:
|
方案一、部署在Java应用服务器
Smartbi proxy 应用需要 jdk1.5 以上环境,支持在 WebSphere、Weblogic、JBoss、Tomcat 等应用服务器上部署。部署步骤如下:
- 从思迈特处获取最新版 从思迈特处获取试用版 ,用于测试体验 smartbi_proxy.war 介质。点击下载。
- 将smartbi_proxy.war重命名为smartbi.war,这里的名称必须与smartbi真实的访问上下文路径一致
- 参考“如何修改WAR包”文档,打开并修改 smartbi.war\WEB-INF\web.xml 文件。修改其中 servlet 的初始化参数 url,将其设置为 Smartbi 应用访问地址。如果设置了多个地址,还可以做简单的负载均衡。如下图所示。
servlet 还有另一个初始化参数 recheckTime,用来设置当某个服务器失效后,重新连接该服务器的时间间隔。设置完上述参数后,完整的 web.xml 文件内容如下。
Code Block language xml linenumbers true collapse true <?xml version="1.0" encoding="GBK"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>ProxyServlet</servlet-name> <servlet-class>smartbi.freequery.proxy.ProxyServlet</servlet-class> <init-param> <!-- 声明当服务器失效后,在多少秒后才重新尝试连接此服务器 --> <param-name>recheckTime</param-name> <param-value>30</param-value> </init-param> <init-param> <param-name>url</param-name> <!-- 当有多个服务器时以逗号分隔 <param-value>http://localhost:8081/smartbi/,http://localhost:8082/smartbi/</param-value> --> <param-value>http://192.168.1.26:18080/smartbi/</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>ProxyServlet</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ProxyServlet</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> </web-app>
- 然后参考“安装配置指南”中 smartbi 手工部署章节部署 重命名后的smartbi.war
- 部署完成后,即可通过访问代理地址达到访问真实 smartbi 服务器的目的。例如地址:http://www.smartbi.com.cn:8080/smartbi
方案二、部署在IIS6
2.1 先决条件
配置连接 Smartbi proxy 前,请先确定是否已经安装了以下组件:
- 安装Internet Information Server(IIS) 6,IIS必须允许ASP.NET访问。
- 安装.net framework 2.0或以上版本和ASP.NET2.0或以上版本。
- 下载Smartbi Proxy for IIS。该代理程序适用于IIS6和IIS7,但建议IIS7使用官方推荐的Application Request Routing Cache。
直接下载:SmartbiProxy_IIS.zip
2.2 修改配置文件
用文本编辑器打开 Smartbi proxy 里面的配置文件web.config,修改其中host属性的值<add key="host" value="http://localhost:8080/smartbi/" />,该值为Smartbi应用服务器的真实访问地址。
2.3 建立虚拟目录smartbi
在 IIS上建立一个名为smartbi的虚拟目录:
- 在介质中找到 smartbiproxy 目录,并且将其复制到服务器任意文件夹(该文件夹不要包含空格),比如c:\ smartbiproxy。
- 在操作系统的“开始”菜单中选择: 控制面板 > 管理工具 > 计算机管理,弹出“计算机管理”窗口。
- 在“计算机管理”窗口右侧的控制台树中展开“服务和应用程序”节点,选择“Internet 信息服务”,并在“默认Web站点”节点的右键菜单中选择:新建 > 虚拟目录,弹出“虚拟目录创建向导”窗口。
- 单击“下一步”按钮,输入目录别名:smartbi,注意:这个名字必须与 smartbi 的访问地址中的应用名称一致,如:http://localhost:8080/smartbi中的 smartbi 即为应用名称。
- 输入 Web 站点的内容目录,比如C: \smartbiproxy。
- 设置访问权限。勾选“读取”、“运行脚本(例如ASP)”和“执行'例如ISAPI应用程序或CGI”选项。
- 单击“下一步”,完成全部操作。
2.4 设置虚拟目录属性
- 在IIS中选择已经发布的smartbi虚拟目录,右键选择"属性" 菜单。
- 在弹出的属性窗口中,点击"配置"按钮。
- 在应用程序配置窗口中,点击"插入"按钮。
- 输入asp.net2.0中aspnet_isapi.dll地址,如:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll,并设置"确认文件是否存在"为不选中状态。
- 点击"确定"完成配置。
- 配置ASP.NET版本,点击第二步中的"ASP.NET"按钮,显示如下,并将图中所示ASP.NET版本改为2.0或以上版本。
方案三、部署在IIS7
3.1 先决条件
- 配置代理前,请先确定安装 IIS7 的URL重写组件,请参考下图,如包含下图中红色框中的组件,则说明已正确安装。
- 安装注意事项:
- 保证服务器可以连接网络
- 到下面地址下载安装组件http://www.iis.net/download/applicationrequestrouting
3.2 激活IIS7 proxy功能
- 打开 IIS7 管理器,选择 IIS7 根节点,双击右侧面板中的"Application Request Routing Cache"。
- 点击界面右侧的"Server Proxy Settings"。
- 选择"Enable proxy",并点击"应用"。
3.3 设置URL重写
- 打开 IIS7 管理器,选择 IIS7 根节点,双击右侧面板中的"URL重写"。
- 在"URL重写"界面,右键选择"添加规则",在弹出框中,选择"空白规则"。
- 输入规则名称"smartbiproxy",匹配URL请选择使用"通配符",模式框中输入"smartbi/*",如下图。
- 在"重写RUL"框中输入真实的smartbi访问地址,http://ip:port/{R:0},选择"停止处理后续规则",如下图。
- URL配置完成后,如果能正常访问 http://localhost/smartbi/vision/index.jsp,则表示配置成功。