通过https在iframe中加载页面应用程序的无提示失败

时间:2011-10-10 01:19:13

标签: facebook iframe https facebook-page

问题

我有一个应用程序在客户端页面上驱动选项卡。如果用户未启用FB的“安全浏览”功能,则应用程序可正常运行。如果尝试通过HTTPS查看,则甚至不会出现iframe(没有错误,没有混合内容警告)。通过HTTP正确加载时,ID为“pagelet_app_runner”的div会在其中插入iframe,并在其中加载应用程序内容。通过HTTPS,此div保持为空,并且iframe未插入页面。 Firebug或Chrome的等效控制台中没有出现Javascript错误。

为什么我要问这里

主机拥有有效的SSL证书,并且相关网址上没有“混合内容”。我可以通过直接访问URL成功地通过HTTP或HTTPS查看内容,我也可以通过访问apps.facebook.com/canvasURL/tabURL来做同样的事情。只有在尝试在页面选项卡中查看HTTPS加载失败时才会如上所述。我的应用程序配置了常规和安全的画布和标签URL。

尝试调试

我已经与Charles录制了一些会话,但由于iframe没有插入到页面中,我认为我已经出现问题了。我不是查尔斯专家,很高兴在这里得到纠正。

Apache没有看到受影响的负载的任何请求(在常规或ssl日志中)。非{SSL}负载在access_log中按预期方式发布。

请求帮助

我没有调试它的想法。有人有什么建议吗?我可能犯了哪些真正明显和愚蠢的错误? :)

编辑:更好的格式化

3 个答案:

答案 0 :(得分:0)

您的应用画布网址为https://skinnycomp.nextstudio.com.au/skinnycowcomps/,向Facebook代理发送404错误(通过标签查看应用时请求通过代理),同样通过应用(https://apps.facebook.com/122381834451561/)查看您的应用时404 ...也许Facebook代理忽略404并发布空白... 尝试将画布网址更改为https://skinnycomp.nextstudio.com.au/skinnycowcomps/tab,同时您可以检查您的应用是否通过页面标签访问,signed_request应该page_id ...

23:51:15.379[549ms][total 1667ms] Status: 404[Not Found]
GET https://skinnycomp.nextstudio.com.au/skinnycowcomps/

答案 1 :(得分:0)

这是一个真正的远景,因为我确定您已经对所有设置进行了三次检查,但如果在应用设置中的“页面标签”URL字段中指定了无效的网址,则会出现空白页面。由于它只发生在https上,因此它特别暗示了安全页面选项卡URL条目。可能值得再次检查,甚至可能重新保存或将其更改为其他内容以查看是否有帮助。

答案 2 :(得分:0)

我使用常规和安全标签网址字段的相对网址。从内存相对URL这里在过去的某些时候是强制性的。现在看来,相对URL仍将适用于HTTP,但不适用于HTTP。修复:绝对URL。希望FB更新他们的现场验证以匹配所需的。