2016-05-24 160 views
0

我在我的Rails应用程序中添加了即时聊天(如Gmail聊天),我正在使用private_pub和faye。该应用似乎目前工作,但用户刷新页面后只能看到消息。我检查了元素,它显示faye.js被阻止。确切的错误是private_pub Faye.js被阻止

Mixed Content: The page at 'https://....' was loaded over HTTPS, but requested an insecure script 'http://localhost:9292/faye.js'. This request has been blocked; the content must be served over HTTPS. 

有没有人exeperienced这样的错误和/或任何想法如何解决此问题?查看附加图片以获取错误的截图。 enter image description here

+0

你可以在application.html.erb中发布你的JS部分吗?看起来你的网站是用https生成的,但是这部分单独通过http有明确的请求。 – coderhs

+0

@Coderhs这是application.html.erb的JS部分'<%= stylesheet_link_tag'application',media:'all','data-turbolinks-track'=> true%> <%= javascript_include_tag'application', 'https://js.stripe.com/v2/','data-turbolinks-track'=> true%> <%= csrf_meta_tags%> <%= tag:meta,name:“stripe-key”,内容:STRIPE_PUBLIC%>' – Alex

回答

0

这是一个浏览器行为,为了安全起见。

HTTPS页面被阻止加载非HTTPS资源,如Javascript,图像和CSS文件,并会显示你的错误。

如果您必须通过HTTPS加载您的页面,请确保所有资源也必须在HTTPS之内。

+0

感谢您的提示。我正在使用cloud9进行开发。但默认情况下,gem通过本地主机url提供faye.js,所以我只是想知道是否有人有过这种体验,并且可以提出另一种走动。 – Alex

+0

一切都好。如果你只是在做开发,你可以将你的主应用程序切换到HTTP。 –