我有一个Rails 3.2应用程序,我试图调试一个奇怪的ssl问题。ssl_requirement仅在生产上失败,仅在两页上
我在整个我的应用程序页面缓存,并保持动态内容我正在做Ajax请求更新某些方面。
所有被高速缓存的页面都应该只被http请求。当一个ssl请求被创建时,除了其中的两个都被重定向到http。
问题是,这两个页面Artists和Blog无法重定向回http,并且刷新内容的ajax请求被取消。据我所知,它被取消是因为它将普通的http看作是一个不同的站点,并且你不能在ssl下向另一个站点发出ajax请求。
设置本地签名证书没有帮助。在开发过程中,这两个页面的行为恰当。我还使用AWS ELB,其中ssl终止于负载均衡器并转到端口80,而且似乎也正常工作。
我可以强制这两个页面重定向到http每次,但我更愿意深究这一点。
我正在使用ssl_requirement来执行应用级别重定向。
我正在寻找如何发生这种情况的想法。我已经梳理了我的代码库,并且在应用程序级别找不到任何可以实现此目的的任何内容。我不认为我的apache虚拟主机是完美的,但没有任何关于这两个页面的东西。任何人都知道这可能发生在堆栈中的哪个位置?
编辑:
终于明白,因为页面完全缓存,请求只打了Apache和从来没有哪里会被重定向的应用程序。这让我质疑为什么Ajax请求被取消。 Ajax请求位于同一个域但未加密。这不应该仅仅是作为'不安全内容'的警告吗?我正在使用jQuery getScript来加载动态内容。