使用 WebSphere DataPower 作为 Worklight 移动应用程序的推送通知代理

IBM® WebSphere® DataPower® Appliances 的构建是为了简化部署和加强安全性,它衔接了多个协议,并以线速执行转换。这些功能可帮助您实现和维护安全性和操作策略。DataPower 通常被用作处理企业的传入流量的逆向代理和安全网关,您也可以将它用作出站连接的网关,以方便监视和路由。IBM Worklight® 与通知中介建立出站连接,向移动应用程序推送通知。本文将介绍如何设置 DataPower,将它用作推送通知代理。 本文来自于 IBM WebSphere Developer Technical Journal 中文版

Thejaswini Ramachandra, 顾问软件工程师, IBM

Thejaswini Ramachandra 是 IBM Worklight 产品开发组的一名顾问软件工程师。她在 IBM 工作已有十二年之久,在此期间,她曾分别在 SWG、STG 和研究组从事过业务流程建模、模型驱动的架构方面的工作,目前负责移动技术方面的工作。她出席过许多会议,曾在许多国际出版物上亮相。



Jerry Reghunadh, 资深软件工程师, IBM

Jerry Reghunadh 的照片Jerry M. Reghunadh 是印度 IBM Software Labs 的资深软件工程师。Jerry 于 2008 年加入 IBM,目前是 IBM Worklight 团队的一员。他主要擅长的领域包括质量保证和控制、SOA、XML 和自动化。除了固定工作,他还通过在客户服务活动中为 IBM Tech Sales and Lab Services 提供帮助,拓展 WSRR 和 DataPower 方面的经验。在加入 Worklight 之前,Jerry 参加过研究 XB60 和 XI50 设备的 DataPower 开发团队、WebSphere Quick Connect Appliance 团队(目前的 Cast Iron 团队)、IBM SOA Policy Pattern 和 WebSphere Service Registry and Repository。他还担任过一家客户的 DataPower 部署架构师。



2014 年 5 月 06 日

简介

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 配置

  1. 登录到 DataPower 设备。
  2. 导航到 Services > Other Services,选择 TCP Proxy Service 并单击 Add
  3. 提供一个可用于标识该配置的名称。
  4. 输入这些配置细节:
    • Local IP Address:选择正确的别名或保留默认值 (0.0.0.0)
    • Port Number:443
    • Remote Host:android.googleapis.com
    • Remote Port:443
  5. 单击 Apply
  6. 保存配置。

B. Worklight Server 配置

  1. 编辑 Worklight Server 机器的 hosts 文件。主机文件位于:
    • Linux:/etc/hosts
    • Windows:SystemRoot%\system32\drivers\etc\hosts

    在以下行中:

    <ip address of datapower> android.googleapis.com

    <ip address of datapower> 替换为实际的 IP 地址。

  2. worklight.properties 文件中的通知代理设置不需要修改。
  3. 重新启动 Worklight Server。

Web 应用程序防火墙

A. DataPower 配置

  1. 登录到 DataPower 设备。
  2. 使用 CN 值 android.googleapis.com 创建一个密钥-证书对
    1. 导航到 Administration > Miscellaneous,然后导航到 Crypto Tools
    2. 在 Generate Key 选项卡下,输入 android.googleapis.com 作为 Common Name (CN) 的值。
    3. 如果计划在以后导出私钥,那么可以选择 Export private key
  3. 创建一个 Crypto Identification Credential:
    1. 导航到 Objects > Crypto Configuration 并单击 Crypto Identification Credentials
    2. 单击 Add
    3. 提供一个可用来在以后识别该加密识别凭据的名称。
    4. 对于 Crypto Key 和 Certificate,从下拉菜单选择第 2 步中生成的密钥和证书。
    5. 单击 Apply
  4. 创建一个 Crypto Profile:
    1. 导航到 Objects > Crypto Configuration 并单击 Crypto Profile
    2. 单击 Add
    3. 提供一个可用来在以后识别加密概要文件的名称。
    4. 对于 Identification Credentials,从下拉菜单选择第 3 步中创建的识别凭据。
    5. 单击 Apply
  5. 创建一个 Web 应用程序防火墙:
    1. 转到 Control Panel > Web Application Firewall 并单击 Add Wizard
    2. 单击 Add
    3. 提供一个可用于在以后识别 Web 应用程序防火墙的名称。
    4. 单击 Next
    5. 在 Back End (Server) Information 下,输入以下值:
      • Remote Host:android.googleapis.com
      • Remote Port:443。
      • 在屏幕刷新后选择 SSL 复选框,然后选择第 4 步中的加密概要文件。
      • 单击 Next
    6. 在 Front End (Client-Facing) Information 下:
      • 对于 IP,选择正确的别名或保留默认值 (0.0.0.0)。
      • 选择 SSL 复选框并单击 Add
      • 屏幕刷新后,选择第 4 步中的加密概要文件。
    7. 单击 Next,直到到达 Confirm Your Changes and Commit 面板,单击 Commit
    8. 如果希望查看该配置,可单击 View Web Application Firewall,否则单击 Done
  6. 保存配置。

B. Worklight Server 配置

上面 DataPower 使用的证书是一个自签名证书。除非该证书添加到 Worklight 所使用的 JRE 中,否则与 DataPower 的连接将会失败。

  1. 要将该自签名证书添加到 JRE 密钥库中,可按照 Worklight 信息中心 的说明进行操作。
  2. 编辑 Worklight Server 机器的 hosts 文件。主机文件位于:
    • Linux:/etc/hosts
    • Windows:SystemRoot%\system32\drivers\etc\hosts

    在以下行中:

    <ip address of datapower> android.googleapis.com

    <ip address of datapower> 替换为实际的 IP 地址。

  3. worklight.properties 中的通知代理设置不需要修改。
  4. 重新启动 Worklight Server。

将 DataPower 配置为 APNS 代理

A. DataPower 配置

  1. 登录到 DataPower 设备。
  2. 导航到 Services > Other Services,选择 TCP Proxy Service 并单击 Add
  3. 提供一个可用于标识该配置的名称。
  4. 输入这些配置细节:
    • Local IP Address:选择正确的别名或保留默认值 (0.0.0.0)
    • Port Number:2195
    • Remote Host:gateway.sandbox.push.apple.com
    • Remote Port:2195
  5. 单击 Apply
  6. 保存配置。

B. Worklight Server 配置

  1. 编辑 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 地址。

  2. worklight.properties 文件中的通知代理设置不需要修改。
  3. 重新启动 Worklight Server。

从 Worklight 发送通知

完成上述 Worklight 和 DataPower 配置后,即可开始从 Worklight 发送通知。有关 Worklight 推送通知的信息,请参阅 Worklight 信息中心

请参阅 Worklight 入门文档 了解推送通知示例。

一定要检查 DataPower 和 Worklight 日志,以防出现任何错误。


结束语

本文重点介绍了如何使用 IBM WebSphere DataPower Appliances 用作一个逆向代理和安全网关,用它来处理企业的出站推送通知。这里详细介绍的 DataPower 配置被用作 IBM Worklight Server 和通知中介之间的代理,以确保企业策略和安全合规性在发出出站请求时得到满足。

参考资料

学习

获得产品和技术

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, 移动开发
ArticleID=970528
ArticleTitle=使用 WebSphere DataPower 作为 Worklight 移动应用程序的推送通知代理
publish-date=05062014