Google App Engine – Node.js – 未从请求处理程序发送的出站https请求

我在GAE灵活环境中运行节点快递服务器。 我的一个端点路由除了其他的事情外,还应该向某些用户发送推送通知。 我不希望请求用户在继续/获取响应之前等待外部Pushwoosh推送API响应,因此我在初始请求/响应承诺链之外的独立函数中调用下面的代码。 所以,当这段代码发送asynchronous请求到Pushwoosh时,我的用户请求响应承诺链就会自行继续,并且让远程API调用自行完成。

我testing了这个代码在本地运行节点,它工作正常。 当我将这个完全相同的代码部署到GAE时,由于某种原因,Pushwoosh请求永远不会被发送。 我看不到任何响应或错误的console.log。 我已经validation所有的请求数据是正确的。

什么导致这个请求不被发送? 节点版本是6.9.4。

var https = require('https'); var headers = { 'Content-Type': 'application/json; charset=utf-8' }; var options = { host: 'cp.pushwoosh.com', port: 443, path: '/json/1.3/createMessage', method: 'POST', headers: headers }; var message = { request: { application: process.env.PUSHWOOSH_APP_ID, auth: process.env.PUSHWOOSH_REST_API_KEY, notifications: [{ send_date: 'now', ignore_user_timezone: true, content: 'test', ios_badges:'+1', android_badges:'+1', android_priority: 2, android_vibration: 1, data:{ key: 'value' } }] } }; var req = https.request(options, function(res) { res.on('data', function(data) { console.log('Response:'); console.log(JSON.parse(data)); }); }); req.on('error', function(e) { console.log('Error:'); console.log(e); }); req.write(JSON.stringify(message)); req.end();