我怎么能通过meteor的HTTP.call()节点的额外选项?

在Meteor中执行HTTP.get()调用时,出现SSL错误 , UNABLE_TO_VERIFY_LEAF_SIGNATURE 。

上面的链接指向涉及Node参数的解决scheme(例如{rejectUnauthorized: false} ),但是如何将其中的任何一个传递给Meteor还不清楚。 我试过HTTP.get(url, {rejectUnauthorized: false})没有运气。

现在可以通过将npmRequestOptions传递给Meteor HTTP请求:

  const requestOptions = { npmRequestOptions: { rejectUnauthorized: false } } const result = HTTP.get(url, requestOptions) 

我最终创build了一个Meteor的HTTP包的分支,它只是通过它不知道的选项。 我认为这是一个理智的做法(而不是完全放弃这些选项),我希望meteor团队把这一变化推向核心。

Atmosphere包称为http-more 。

看看HTTP包的来源( https://github.com/meteor/meteor/blob/devel/packages/http/httpcall_server.js#L75 ),我注意到它没有直接使用节点的http类实现,而是使用request包,并且可以传递它的选项(参见上面的链接)是有限的。 所以我不确定这是现在可能的。

看看request包的请求选项( https://github.com/mikeal/request#requestoptions-callback )我不确定如何启用你关心的选项。

顺便说一句,如果你在服务器上,你可以直接使用http(s)直接使用Npm.require('https')