BlazeDS数据通过SSL推送

时间:2009-12-01 05:11:53

标签: ssl blazeds

我有一个应用程序使用blazeDS的数据推送技术将数据发送到Flex Client事件5秒。当我使用或不使用代理通过HTTP运行应用程序时,该应用程序正常工作。当我通过https运行时,数据推送不再起作用。我收到以下错误

rootCause [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 
text="Error #2032: Stream Error. 
URL: https://localhost/admin/messagebroker/streamingamfsecure?command=open&version=1

有没有人成功通过SSL流式传输?

谢谢, Pratima

2 个答案:

答案 0 :(得分:0)

问自己的问题(并在此处发布)

  • 请求是否显示在您的访问日志中?
  • 通过HTTPS,Tomcat /普通HTML页面的服务器是什么?
  • 响应标头是什么样的?清除缓存会改变什么吗?
  • 您使用的浏览器是什么?
  • 您可以设置explicate缓存标头吗?

尝试以下方法之一:

 Cache-Control: no-store
 Cache-Control: no-store, must-revalidate
 Cache-Control: no-store,max-age=0,must-revalidate
 Cache-Control: max-age=0,must-revalidate
 Cache-Control: must-revalidate

答案 1 :(得分:0)

2032是框架中的一个模糊错误。

然而,要检查的事情(除了Stu的名单)

您可以直接在浏览器中点击https://页面吗?

我在您的示例中注意到您尚未指定SSL的端口号。除非您遇到设置Apache SSL重定向的麻烦,否则很可能是错误的。

如果您将网址粘贴到浏览器中,您应该可以点击它,并获得空响应。还有别的,你有一个问题(通常是与BlazeDS无关的问题。)

您的证书有效吗?

如果您使用自签名证书(在开发中很常见),您的浏览器是否定义了安全例外?各种浏览器将阻止尝试以不同方式命中无效证书,但在设置异常之前,自动复制浏览器不会允许此调用。

您的频道是否正确定义?

从http://切换到https://时,您需要将Flex客户端上的Channel类更新为SecureAMFChannel,并将services-config.xml中的端点类更新为SecureAMFEndpoint

从广义上讲,使用BlazeDS(推送或RPC)的https可以正常工作,假设您正确配置它。