0

我有一个应用程序,它使用 blazeDS 的数据推送技术在 5 秒内将数据发送到 Flex 客户端事件。当我通过带有或不带有代理的 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 工作?

谢谢,普拉蒂玛

4

2 回答 2

0

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

但是,要检查的事情(除了 Stu 的清单)

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

我注意到在您的示例中您没有指定 SSL 的端口号。除非您费心设置一些 Apache SSL 重定向,否则这很可能是个错误。

如果您将 URL 粘贴到浏览器中,您应该能够点击它,并得到一个空响应。其他任何事情,你都会遇到问题(通常是与 BlazeDS 无关的问题。)

你的证书有效吗?

如果您使用的是自签名证书(在开发中很常见),您的浏览器是否定义了安全异常?各种浏览器会以不同的方式阻止对无效证书的尝试,但在设置异常之前,没有自我保护的浏览器会允许此调用通过。

您的频道定义正确吗?

从 http:// 切换到 https:// 时,您需要更新 flex 客户端上的 Channel 类 to和toSecureAMFChannel中的端点类。services-config.xmlSecureAMFEndpoint

从广义上讲,假设您正确配置它,带有 BlazeDS(推送或 RPC)的 https 工作得很好。

于 2011-06-30T13:04:22.420 回答
0

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

  • 请求是否显示在您的访问日志中?
  • Tomcat/whatever 服务器是否通过 HTTPS 提供正常的 HTML 页面?
  • 响应标头是什么样的?清除缓存会改变什么吗?
  • 你使用的是什么浏览器?
  • 你能设置明确的缓存头吗?

尝试其中之一:

 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
于 2009-12-02T20:06:38.600 回答