尝试加载 Facebook 应用程序时遇到混合内容错误

Experiencing the mixed content error while trying to load facebook application

我已经在 Facebook 上提交了我的申请。它在 https 上工作。最近我设置了 apache 反向代理。代理正在从 https 重定向到 tomcat 的 http 端口 8080。如果直接访问,游戏可以运行。而如果从 facebook 访问则会出现错误:

Mixed Content: The page at 'https://apps.facebook.com/pennantrace/?fb_source=bookmark&ref=bookmarks&count=0&fb_bmpos=_0' was loaded over HTTPS, but requested an insecure form action 'http://thepennantrace.com/'. This request has been blocked; the content must be served over HTTPS.

更新 1:

我已经将 spring 社交 facebook 的 canvas 控制器的 post 登录 url 设置为 "https://..." 现在可以使用了,但是 tomcat 是将呼叫重定向到 https://...com to the http://....com/resources/index.html

似乎所有来自 tomcat 的重定向都按原样 (http) 传递,而没有将协议更改为 https。

我通过将 apache 设置为使用 X-Forwarded-Proto 来修复它 tomcat 正确回应。