Articles of https

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', […]

如何在Node.js中closureshttpsstream

我正在通过https加载一个.ndjson文件。 我想在阅读100行文件后closures它。 const amount = 100; https.get(url, (res) => { var { statusCode } = res; if (statusCode !== 200) { throw new Error(`Request Failed.\n Status Code: ${statusCode}`); } res.setEncoding('utf8'); let rows = []; res .pipe(ndjson.parse()) .on('data', function (obj) { rows.push(obj); if (rows.length === amount) { this.end(); } }) .on('end', () => { resolve(rows); }); […]

无法使用nodejs中的https连接套接字

在使用nodejs开发一个聊天应用程序的时候,我试图通过使用http命名空间的帮助来连接套接字,这是完全正常的。虽然我使用https运行相同的应用程序,但是没有连接到套接字代码。 服务器 require('./libs/socketioCode.js').sockets(https); var options = { key: fs.readFileSync('privkey.pem'), cert: fs.readFileSync('cert.pem') }; var server = http.createServer(app).listen(3000); var server1 = https.createServer(options, app).listen(3443); var io = require('socket.io').listen(server1); sockets module.exports.sockets = function(https){ io = socketio.listen(https); 我试过这个代码使用很多方法,但我failed.i得到错误,如GET /socket.io/?EIO=2&transport=polling&t=1505985336768-986 200 17.325 ms – 1454 Page Not Found 。提前GET /socket.io/?EIO=2&transport=polling&t=1505985336768-986 200 17.325 ms – 1454 Page Not Found 。

HTTP请求问题内部服务器错误

我有一个HTTP响应问题给我一个状态代码:502,并出现错误消息:内部服务器错误。 我的设置是用NodeJS编写的AWS Lambda,向与其他Lambda集成的AWS API网关发出HTTPS POST请求作为其后端。 奇怪的部分是作为API后端的Lambda收到所有的POST请求,并且能够完美地执行它的function,但是它的callback响应了另一个Lambda错误。 以下是API网关端的lambdacallback const done = (err, res) => callback(err, { statusCode: err ? JSON.stringify(err.code) : '200', body: err ? JSON.stringify(err.message) : JSON.stringify(res), headers: { 'Content-Type': 'application/json', } }); 这里是其他lambda发出https POST请求的代码 const req = https.request(options, (res) => { console.log('statusCode:', res.statusCode); console.log('headers:', res.headers); res.on('data', (d) => { process.stdout.write(d); }); res.on('end', function () […]

Http请求不会路由到Https NodeJs

我有我的服务器上Google App Engine和我使用npm模块是HTTPS ,下面是我写的代码,以限制请求HTTPS。 app.use(yes({ maxAge: 86400, // defaults `86400` includeSubdomains: true, // defaults `true` preload: true // defaults `true` })); 以前这个代码工作正常,所有我的请求是否Https或Http都被路由到Https 。 但是现在我不知道为什么来到Http的请求没有被路由到Https。 任何人都可以告诉我为什么会发生这种情况。

使用HTTPS的Apache反向代理到node.js应用程序无法正常工作

我目前有一些Web应用程序运行在我的网站的不同子域上,并设法使用Let's Encrypt和Certbot来设置HTTPS没有问题。 我的服务器上还运行着一个Node应用程序( http:// localhost:3001 ),这是我的所有Web应用程序都连接到的。 我已经为我的Node.js应用程序设置了一个子域来运行,并为其获取SSL证书。 在这个子域的VirtualHost条目中,我使用ProxyPass指向我的Node应用程序,我的configuration如下所示: <VirtualHost MY_IP_ADDRESS:443> ServerName server.myserver.com ProxyPass / http://MY_IP_ADDRESS:3001/ ProxyPassReverse / http://MY_IP_ADDRESS:3001/ SSLCertificateFile /etc/letsencrypt/live/server.myserver.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/server.myserver.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateChainFile /etc/letsencrypt/live/server.myserver.com/chain.pem </VirtualHost> 我面临的问题是,当我尝试访问https://server.myserver.com浏览器通知我的连接是不安全的(因此,这是现在我的任何其他应用程序访问服务器.myserver.com)。 当涉及到服务器configuration时,我的知识是非常有限的,所以我不知道是什么问题。 这是一个Apache问题,或者我的节点应用程序需要使用HTTPS(我的研究迄今为止不build议…)? 编辑:我在CentOS 7上运行Apache 2. Node应用程序是运行HTTP服务器的快速应用程序。 Firefox通知我,安全证书是不可信的,因为它是自签名的。 我试过更新它,但问题依然存在。

Azure网站是否支持使用node.js的https?

Azure Webangular色支持https和node.js,但Azure网站是否支持https?

NodeJS发送HTTPS SOAP请求

我试图使用nodejs在特定的终点发送一个SOAP请求。 我的请求如下所示: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://company.com/nse/types"> <soapenv:Header/> <soapenv:Body> <typ:Login> <!–You have a CHOICE of the next 2 items at this level–> <typ:Credential userName="x" password="y"/> </typ:Login> </soapenv:Body> </soapenv:Envelope> 我也有一个https端点 (例如https://hostname.com/box/ )和一个WSDL文件。 有人可以告诉我这样做的最好方法吗? 我正在通过英里/节点肥皂寻找,似乎无法find一个地方进入我所需的端点。

Node.js直接请求带有选项(http或https)的URL

我想我错过了有关http和https请求的内容 我有一个包含URL的variables,例如: http(s)://website.com/a/b/file.html 我想知道是否有一个简单的方法来请求这个URI来获取数据 要制作一个http(s)请求,这里是我现在要做的: testingURL是http还是https来发出适当的请求 删除http(s)://部分并将结果放入一个variables中(如果我在主机名中指定http或https,则出现错误) 将主机名与path: website.com和`/a/b/file.html分开 把这个variables放在选项对象中 这是必须的还是他们更容易解决scheme,不涉及获取主机名和path,并testing该网站是在http或https? 编辑:我不能使用http.get,因为我需要把一些特定的选项

端口号的HTTPSurl在iOS上不可用

我在包含端口号的HTTPS URL上发送一个简单的GET请求。 该url看起来像这样 https://example.com:8080/v1/base 这完美的Android和任何浏览器..甚至curl。 但是,我在iOS上得到这个错误。 如果我从上面的URL中删除端口号,这工作得很好! 错误:错误域= NSURLErrorDomain代码= -1202“此服务器的证书无效,您可能正在连接假装为”example.com“的服务器,这可能会使您的机密信息处于危险之中。 UserInfo = 0xa694c50 {NSErrorFailingURLStringKey = https://example.com:8080/v1/base,NSLocalizedRecoverySuggestion =你想连接到服务器呢,NSErrorFailingURLKey = https://example.com:8080/api/v1/base ,NSLocalizedDescription =这个服务器的证书是无效的。 您可能正在连接到假装为“example.com”的服务器,这可能会使您的机密信息处于危险之中,NSUnderlyingError = 0xa2410a0“此服务器的证书无效。您可能正在连接到假装是“example.com”,这可能会使您的机密信息处于危险之中。“,NSURLErrorFailingURLPeerTrustErrorKey =} SSL证书由DigiCert颁发。 服务器后端是节点v0.10.15和iOS SDK v6.1 任何想法,我在这里失踪?