我不是专家,也不想犯错,所以如果答案明显,请原谅我(比安慰更安全)。
我使用FB4.5完成了一个Flex应用程序并上传并对共享主机进行了测试。我现在正在使用https保护应用程序,但已陷入泥潭。
第一: 我强制所有页面的加载都使用.htaccess进行https,以便Flex应用程序加载SSL。问题是,当应用程序使用gateway.php文件进行数据服务调用时,由于.htaccess强制(它正在寻找http而不是https),我得到连接失败('BadVersion')。我相信我可以在Flash Builder类文件中对https路径进行硬编码,但我不想阻止该应用程序在我的开发机器上运行。这有什么想法?
此外,即使使用SSL调用gateway.php文件,由于.htaccess指令强制使用SSL,以下对包含实际SQL查询的PHP文件的调用也会失败。
第二: 我没有使用.htaccess,而是成功使用PHP来保护应用程序的初始启动,并在开头使用https重定向语句。这允许应用程序工作,调用gateway.php文件很好,因为它不强制所有的https。但是,这无法实现将所有内容加密的目的。
第三: 是否有必要在SSL上启动gateway.php文件,因为它是以二进制AMF传输的?
思考?解释吗?我错过的东西。建议?
提前致谢。
答案 0 :(得分:2)
如果您的AMF来电通过HTTPS,那么您需要使用SecureAMFChannel
而不是香草AMFChannel
。
典型地,这可以在客户端,您已声明RemoteObject
或ChannelSet
或services-config.xml
文件中配置。
最有可能的是,这种不匹配导致您遇到BadVersion
错误。