DataPower 通常被用作处理企业的传入流量的逆向代理和安全网关,您也可以将它用作出站连接的网关,以方便监视和路由。IBM Worklight® 与通知中介建立出站连接,向">移动应用程序推送通知。本文将介绍如何设置 DataPower,将它用作推送通知代理。
IBM WebSphere DataPower SOA Appliances 的构建是为了简化部署和加强安全性,它衔接了多个协议,并以线速执行转换。这些功能可帮助组织实现和维护安全性和操作策略。
DataPower 通常被用作处理企业的传入流量的逆向代理和安全网关,您也可以将它用作出站连接的网关。此外,还有一些客户端需求,企业政策要求所有出站连接通过一个网关发出,以方便监视和路由。DataPower 也可用作网关来满足这样的需求。
IBM Worklight 向通知中介(比如 APNS (Apple Push Notification Service) 和 GCM (Google Cloud Messaging servers))发出出站连接,以便向移动应用程序推送通知。因此,DataPower 应能够用作 IBM Worklight Server 和 APNS/GCM 之间的代理。
本文将介绍如何设置 DataPower,以便将它用作推送通知代理。
将 DataPower 配置为 GCM 代理
有两种可能的 DataPower 配置使它能够被用作 Worklight 的 GCM 代理:一种 TCP 代理配置 和一种 Web 应用程序防火墙配置。
TCP 代理
一个 TCP(传输控制协议)代理用作 TCP 网络层的代理。它使用一个 TCP 连接将指定本地地址上收到的所有流量中继到一个指定的远程对等地址。
A.DataPower 配置
登录到 DataPower 设备。 导航到 Services > Other Services,选择 TCP Proxy Service 并单击 Add。 提供一个可用于标识该配置的名称。 输入这些配置细节: Local IP Address:选择正确的别名或保留默认值 (0.0.0.0) Port Number:443 Remote Host:android.googleapis.com Remote Port:443 单击 Apply。 保存配置。
B. Worklight Server 配置
编辑 Worklight Server 机器的 hosts 文件。主机文件位于: Linux:/etc/hosts Windows:SystemRoot%\system32\drivers\etc\hosts
在以下行中:
<ip address of datapower> android.googleapis.com
将 <ip address of datapower> 替换为实际的 IP 地址。
worklight.properties 文件中的通知代理设置不需要修改。 重新启动 Worklight Server。
Web 应用程序防火墙
A. DataPower 配置
登录到 DataPower 设备。 使用 CN 值 android.googleapis.com 创建一个密钥-证书对: 导航到 Administration > Miscellaneous,
然后导航到 Crypto Tools。 在 Generate Key 选项卡下,输入 android.googleapis.com 作为 Common Name (CN) 的值。 如果计划在以后导出私钥,
那么可以选择 Export private key。 创建一个 Crypto Identification Credential: 导航到 Objects > Crypto Configuration 并单击 Crypto Identification Credentials。 单击 Add。 提供一个可用来在以后识别该加密识别凭据的名称。 对于 Crypto Key 和 Certificate,从下拉菜单选择第 2 步中生成的密钥和证书。 单击 Apply。 创建一个 Crypto Profile: 导航到 Objects > Crypto Configuration 并单击 Crypto Profile。 单击 Add。 提供一个可用来在以后识别加密概要文件的名称。 对于 Identification Credentials,从下拉菜单选择第 3 步中创建的识别凭据。 单击 Apply。 创建一个 Web 应用程序防火墙: 转到 Control Panel > Web
Application Firewall 并单击 Add Wizard。 单击 Add。 提供一个可用于在以后识别 Web 应用程序防火墙的名称。 单击 Next。 在 Back End (Server) Information 下,输入以下值: Remote Host:android.googleapis.com Remote Port:443。 在屏幕刷新后选择 SSL 复选框,然后选择第 4 步中的加密概要文件。 单击 Next。 在 Front End (Client-Facing) Information 下: 对于 IP,选择正确的别名或保留默认值 (0.0.0.0)。 选择 SSL 复选框并单击 Add。 屏幕刷新后,选择第 4 步中的加密概要文件。 单击 Next,直到到达 Confirm Your Changes and Commit 面板,单击 Commit。 如果希望查看该配置,可单击 View Web Application Firewall,否则单击 Done。 保存配置。
B. Worklight Server 配置
上面 DataPower 使用的证书是一个自签名证书。除非该证书添加到 Worklight 所使用的 JRE 中,否则与 DataPower 的连接将会失败。
要将该自签名证书添加到 JRE 密钥库中,可按照 Worklight 信息中心 的说明进行操作。 编辑 Worklight Server 机器的 hosts 文件。主机文件位于: Linux:/etc/hosts Windows:SystemRoot%\system32\drivers\etc\hosts
在以下行中:
<ip address of datapower> android.googleapis.com
将 <ip address of datapower> 替换为实际的 IP 地址。
worklight.properties 中的通知代理设置不需要修改。 重新启动 Worklight Server。
将 DataPower 配置为 APNS 代理
A. DataPower 配置
登录到 DataPower 设备。 导航到 Services > Other Services,选择 TCP Proxy Service 并单击 Add。 提供一个可用于标识该配置的名称。 输入这些配置细节: Local IP Address:选择正确的别名或保留默认值 (0.0.0.0) Port Number:2195 Remote Host:gateway.sandbox.push.apple.com Remote Port:2195 单击 Apply。 保存配置。
B. Worklight Server 配置
编辑 Worklight Server 机器的 hosts 文件。主机文件位于: Linux:/etc/hosts Windows:SystemRoot%\system32\drivers\etc\hosts
在以下行中:
<ip address of datapower> gateway.sandbox.push.apple.com
将 <ip address of datapower> 替换为实际的 IP 地址。
worklight.properties 文件中的通知代理设置不需要修改。 重新启动 Worklight Server。
从 Worklight 发送通知
完成上述 Worklight 和 DataPower 配置后,即可开始从 Worklight 发送通知。
请参阅 Worklight 入门文档 了解推送通知示例。
一定要检查 DataPower 和 Worklight 日志,以防出现任何错误。
结束语
本文重点介绍了如何使用 IBM WebSphere DataPower Appliances 用作一个逆向代理和安全网关,用它来处理企业的出站推送通知。这里详细介绍的 DataPower 配置被用作 IBM Worklight Server 和通知中介之间的代理,以确保企业策略和安全合规性在发出出站请求时得到满足。