如何在模数.io上托管的流星应用程序使用spiderable

时间:2014-12-03 17:23:34

标签: ssl meteor modulus

我试图在我的使用SSL模拟托管的meteor应用上制作蜘蛛侠。 我有Meteor 1.0,铁:路由器1.0,spiderable和phantomjs节点包

所有正在使用localhost。但是一旦我在Modulus上部署,首先我遇到了错误

spiderable: phantomjs failed: null

然后,我在模块面板中添加了以下环境变量:

METEOR_PKG_SPIDERABLE_PHANTOMJS_ARGS = --ssl-protocol=tlsv1 --ignore-ssl-errors=yes --debug=true

这仍然不起作用,并且调试输出多次(就像它循环错误一样)模数控制台中的以下消息:

2014-12-03T17:01:00 [DEBUG] WebPage - evaluateJavaScript "(function() { return (function () {
if (typeof Meteor === 'undefined'
    || Meteor.status === undefined
    || !Meteor.status().connected) {
  return false;
}
if (typeof Package === 'undefined'
    || Package.spiderable === undefined
    || Package.spiderable.Spiderable === undefined
    || !Package.spiderable.Spiderable._initialSubscriptionsStarted) {
  return false;
}
Tracker.flush();
return DDP._allSubscriptionsReady();
})(); })()" 
2014-12-03T17:01:00 [DEBUG] WebPage - evaluateJavaScript result QVariant(bool, false) 

如果有人知道如何解决这个问题,或者成功使用SSL和spiderable在modulus.io上部署了一个meteor项目。让我知道这样做的好方法:)

非常感谢!

1 个答案:

答案 0 :(得分:4)

我解决了我的问题如下:

  1. 我在本地安装了phantomjs并在http://www.meteorpedia.com/read/spiderable/运行测试脚本

    phantomjs phantomtest.js

  2. 这给了我关于错误的更多细节:解析错误。 然后,它是一个javascript文件,一旦编译/缩小,呈现由select2引起的错误。正在使用它的js库是flat-ui.js(http://designmodo.github.io/Flat-UI/)。

    我通过测试* .meteor.com上的许多部署以及添加/删除.js文件来发现这一点。

    1. 我编辑flat-ui.js库以避免解析错误。

    2. 我在modulus.io和* .meteor.com上重新部署。所有这些都在* .meteor.com上运行良好,但仍然没有在modulus.io上工作。这让我想到了SSL错误,但我只看到了#34; spiderable:phantomjs failed:null"在modulus.io日志中。

    3. 我在模块面板中添加以下环境变量:

      METEOR_PKG_SPIDERABLE_PHANTOMJS_ARGS = --debug = true

    4. 它似乎是一个" SSL握手错误":

      [DEBUG] Network - Resource request error: 6 ( "SSL handshake failed" )
      
      1. 我在METEOR_PKG_SPIDERABLE_PHANTOMJS_ARGS环境变量中添加了另一个选项:

        METEOR_PKG_SPIDERABLE_PHANTOMJS_ARGS = --ignore-ssl-errors = yes --debug = true

      2. 现在一切都在模数上工作正常。

        总结:

        • 解决javascript错误
        • 添加METEOR_PKG_SPIDERABLE_PHANTOMJS_ARGS = --ignore-ssl-errors = yes

        我希望这能帮助一些家伙,