在 IBM® WebSphere® Portal 中配置代理服务器。为避免出现跨站点脚本编制 (XSS) 漏洞,许多浏览器都会拒绝远程服务器上的 JavaScript 命令。此命令之所以被拒绝是因为远程服务器位于与 WebSphere
Portal 服务器不同的域上。因此,Forms
Experience Builder 上创建的“表单”功能是受到限制。配置 HTTP 出站连接时,在门户网站服务器上启用代理规则,以允许远程服务器上的 JavaScript 命令。
开始之前
生成 proxy-config.xml 文件的备份副本。此文件位于 wp_profile_root/wp_profile/config/cells/applications/AJAX Proxy Configuration.ear/deployments/AJAX
Proxy Configuration/wp.proxy.config.war/WEB-INF/ 目录中。保存副本,以便在发生错误时,您能够还原到原始版本。
过程
- 打开 proxy-config.xml 文件。
- 将以下 <policy url="...">...</policy> 内容添加到最后一个条目之后:
注: 更改 {$serverHostname} 和 {$serverPort} 以反映 IBM Forms Experience Builder 服务器配置。/forms/ 是 Forms
Experience Builder 应用程序的标准上下文根。
如果在设置期间以不同方式配置
/forms/ 上下文根,那么请更改它。更改 {$token.ltpa.name} 和 {$token.ltpa2.name} 以反映门户网站服务器上的单点登录 (SSO) 配置页面。如果字段为空,那么请使用 LtpaToken 和 LtpaToken2。
<policy url="{http|https}://{$serverHostname}:{$serverPort}/forms/*"" name="feb">
<actions>
<method>GET</method>
<method>HEAD</method>
<method>POST</method>
<method>PUT</method>
<method>DELETE</method>
</actions>
<headers>
<header>x-lfn-url-callback</header>
<header>User-Agent</header>
<header>Accept*</header>
<header>Vary</header>
<header>Location</header>
<header>Content*</header>
<header>Authorization*</header>
<header>X-Method-Override</header>
<header>Set-Cookie</header>
<header>If-Modified-Since</header>
<header>If-None-Match</header>
<header>X-Server</header>
<header>X-Update-Nonce</header>
<header>X-Requested-With</header>
<header>com.ibm.lotus.openajax.virtualhost</header>
<header>com.ibm.lotus.openajax.virtualport</header>
</headers>
<cookie-rule name="feb">
<cookie>LTPA</cookie>
<cookie>LTPA2</cookie>
<cookie>JSESSIONID</cookie>
<cookie>{$token.ltpa.name}</cookie>
<cookie>{$token.ltpa2.name}</cookie>
<cookie>SimpleToken</cookie>
</cookie-rule>
</policy>
- 将以下信息添加到 proxy-config.xml 文件的元数据部分:
<meta-data>
<name>forward-http-errors</name>
<value>true</value>
</meta-data>
- 在门户网站服务器上打开命令提示符。转至 wp_profile_root\ConfigEngine 目录。
- 运行以下命令以配置代理:
- AIX®
HP-UX
Linux
Solaris: ./ConfigEngine.sh
-DWasPassword=wpsadmin
-DPortalAdminPwd=wpsadmin checkin-wp-proxy-config
-DProxyConfigFileName=/proxy-config.xml
- IBM i:
ConfigEngine.sh
-DWasPassword=wpsadmin
-DPortalAdminPwd=wpsadmin checkin-wp-proxy-config
-DProxyConfigFileName=/proxy-config.xml
- Windows: ConfigEngine.bat
-DWasPassword=wpsadmin
-DPortalAdminPwd=wpsadmin checkin-wp-proxy-config
-DProxyConfigFileName=C:\proxy-config.xml
- 重新启动 WebSphere_Portal 服务器。