构建Bigcommerce应用程序,我收到无效请求:HTTP格式无效,解析失败

时间:2015-09-11 00:44:52

标签: ruby sinatra bigcommerce

我正在尝试为Bigcommerce构建一个Ruby on Rails应用程序。他们没有RoR hello world应用程序,但他们有一个hello world sinatra应用程序。我试图让它运行起来所以我可以弄清楚它是如何工作的,然后让一个人使用Rails。

我克隆了回购(https://github.com/bigcommerce/hello-world-app-ruby-sinatra)并按照说明逐字,但我在终端中收到$(document).on("scroll", onScroll); function onScroll(event){ var scrollPos = $(document).scrollTop(); $('#menubar a').each(function () { var currLink = $(this); var refElement = $(currLink.attr("href")); if (refElement.position().top <= scrollPos && refElement.position().top + refElement.height() > scrollPos) { $('#menubar ul li a').removeClass("active"); currLink.addClass("active"); } else{ currLink.removeClass("active"); } }); } 错误,并显示一个显示&#34; SSL协议错误的屏幕&#34;在Bigcommerce的iFrame中(使用chrome)。

我不知道如何追踪这个错误 - 这可能不是我的错,也许Bigcommerce方面的要求已经改变,并且还没有更新他们的hello world应用程序。为什么我会收到此错误,我该如何解决?

2 个答案:

答案 0 :(得分:0)

我在Python工作但遇到了同样的问题。我发现的一个解决方案可能有助于您获得&#34; SSL协议错误&#34;

如果您使用store-XXXXX.mybigcommerce.com,则会导致错误,因为SSL证书上的名称适用于yourstore.com而不是上述内容。

我尝试切换到mystore.com,但它所做的只是从一种错误转变为另一种错误。有一些方法可以设置你正在做什么GET / POST请求忽略python中的错误,不确定Ruby是否相同。我还没有尝试这个选项,看它是否有效。

答案 1 :(得分:0)

我明白了 - 我需要创建一个自签名的SSL证书并用它启动我的localhost服务器。

按照以下说明操作: http://www.railway.at/2013/02/12/using-ssl-in-your-local-rails-environment/

当它说&#34;只需将force_ssl添加到您想要使用SSL&#34;你实际上只是将force_ssl放在class YourController < ActionController

下面的自己的行中

在railway.at说明中,它在选项中使用localhost.keylocalhost.cert,而在引用的gist链接中,它会生成server.keyserver.cert个文件。此外,--ssl-verify已过时且无效。所以当我从终端启动服务器时,这是我使用的命令:

thin start -p 5000 --ssl --ssl-key-file ~/.ssl/server.key --ssl-cert-file ~/.ssl/server.crt

更新更好的解决方案:

使用https://ngrok.com/

它为您提供了一个重定向到您的本地主机的免费https页面。它是随机生成的(你可以为特定的子域支付60美元/年),但是如果你从未关闭它,即使你关闭计算机,它也会保持活跃状态​​。这样,您可以使用https链接作为您提供bigcommerce的回调网址,并且它将加载托管在您本地主机上的网页。