Tag: amazon web services

如何下载AWS证书与NodeJS一起使用

我正在努力与AWS系统地启用HTTPS。 我通过证书pipe理器请求证书,然后让ELB和安全组侦听HTTPS和端口443。 但是我也需要在AWS实例上的服务器来侦听443端口上的https请求,对吧? 我的服务器正在运行NodeJS和Express。 从我的理解,我需要有一个证书(.crt)文件和密钥正确,但我没有find如何从AWS证书pipe理器下载它们。 有没有人遇到过这个问题? 谢谢大家!

以aws sqs检查传入的消息

我的function如何不断检查传入的消息? 以下函数在收到消息后退出。 考虑到,长时间轮询已经启用队列如何不断检查一个新的消息? function checkMessage(){ var params = { QueueUrl : Constant.QUEUE_URL, VisibilityTimeout: 0, WaitTimeSeconds: 0 } sqs.receiveMessage(params,(err,data) => { if(data){ console.log("%o",data); } }); }

是否应该为应用程序用户使用AWS IAMangular色和权限?

我正在AWS上第一次使用nodejs应用程序,并且仍在学习所有的服务。 我正在处理我的应用程序身份validation和授权,并且正在创build我的用户angular色和组。 AWS IAM服务是否既适用于AWSpipe理,也适用于您的应用程序的用户授权,还是应该使用nodejs的ACL模块之一,并pipe理AWS IAM服务之外的angular色和用户?

pm2重新启动nodejs进程没有迹象表明为什么

我在aws上的Amazon Linux发行版上安装了NodeJS v8.1.2。 我安装了pm2,负责重启进程,以防失败。 我在进程中捕获未捕获的exception,并logging它们,所以过程不会重新启动,因为我使用socket.io,我不希望用户在每一个exception断开连接。 大约两个月前,在将nodejs更新为v7之后,nodejs将会随机重新启动,因此我决定使用nvm从源代码编译nodejs,并解决了这个问题。 大约一个星期前,我再次更新nodejs到V8.1.2,今天的过程中没有任何理由再次重新启动,没有例外…没有任何服务器统计哪里太高..没有理由是如此之多。 我该怎么办? 任何有关这个问题的信息将不胜感激 更新 我检查了/var/log/messages并且在重新启动时发现了一个分段错误错误。 是否必须创build核心转储以进一步调查问题? 是否可以由于我的代码导致nodejs进程的分段错误? 我该怎么办 ? 🙂

如何在AWS上使用套接字发送通知?

我正在一个需要创build通知系统的项目中。 这是为了在AWS基础架构上运行Pyramid框架创build的网站(我认为服务器是Apache或粘贴,不知道)。 当用户跟随​​某事,所有的朋友应该立即得到一个通知,指出“X现在跟随Y”。 因此,我需要一个WebSocket服务器(也许node.js或socket.io)。 如果我这样做,我将在同一个EC2实例(Web服务器和套接字服务器)上运行两个服务器,但是如何将事件/通知从Web服务器传递到套接字服务器? 我猜中间应该有东西,对吧? AWS可以为我提供的东西。 还是有办法直接提供套接字服务器? 对于这种情况,什么是一个好的方法? 衍生的问题是:哪里是最好的地方获得朋友列表,将收到通知? 它应该是Web服务器还是套接字服务器?

如何安全地存储和使用客户的AWS密钥

在我的服务器上存储客户的密钥和访问密钥ID是否可以接受,以便我可以代表他们访问AWS API? 对于密码,只需要使用散列来存储encryption版本,但每次我呼叫AWS时都需要使用实际的密钥值,所以我不能对其进行散列。 简而言之,对于每个经过身份validation的用户,我将存储一个对象,如下所示: {userdId: [myUserId], secretKey: 'jHuiU-jiuhd…', accessKeyId: 'abcdef…', etc} 每次我打电话给AWS,我都可以访问它。 现在,我可以base64对它进行编码和/或甚至自己对它进行encryption,但是在某个阶段,我必须对它进行解码和解密才能提出请求,而我需要做的这些选项将存储在服务器上的某个位置。 如果数据保存在服务器上 – 永远不会发送回客户端 – 如果从服务器到AWS的传输是通过SSL完成的,那么这是否足够了?

CPU为aws操作加息

我们正在为任何aws操作(如listBuckets(s3),listQueues(sqs)和putItem(dynamodb))提高cpu的性能 。 可能是CPU上涨的原因是什么? 我们的后端是Nodejs ,aws库是aws-sdk 例 for (var i = 0; i < 100; i++) { s3.client.listBuckets(function (err, data) { console.log(data); }); } 对于上面的循环%cpu去25 我的问题是,只是一个API调用CPU不应该去那么多加息。 对于我们用redis api调用testing的同一个循环,我们得到的CPU使用率低于2% 。 为什么这只是为了aws操作?

Amazon Elastic Beanstalk .config for node 64bit&env

这里是我的EBconfiguration文件.ebextensions/app.config的摘录: option_settings: – option_name: AWS_SECRET_KEY value: xxxxxxxxxx – option_name: AWS_ACCESS_KEY_ID value: xxxxxxxxxx – option_name: APP_ENV value: development – namespace: aws:elasticbeanstalk:container:nodejs option_name: ProxyServer value: nginx – namespace: aws:elasticbeanstalk:container:nodejs option_name: GzipCompression value: true – namespace: aws:elasticbeanstalk:container:nodejs option_name: NodeVersion value: 0.8.10 – namespace: aws:elasticbeanstalk:container:nodejs option_name: NodeCommand value: npm start commands: test_command: command: echo $APPLICATION_ENV > /home/ec2-user/test.txt cwd: /home/ec2-user […]

nodejs在1次调用S3 / SQS后停止响应

我正在使用aws-sdk模块在nodejs / expressjs中执行一个简单的过程: 上传文件(使用浏览器表单发布) 将其发送到AWS S3 请在AWS SQS中input消息以进一步处理。 用SQS返回对象响应客户端。 下面的代码完美的工作,但只有一次。 在一个文件的第一个文章后,节点应用程序不再响应其他post或动作(它甚至停止了我用SetInterval(method,10000)运行的任何进程)当我尝试发布第二个文件时,它只是挂起。我重新启动服务器,它只是一个职位工作正常我在WebStorm 5 IDE中运行nodejs-v0.10.9。客户端发送文件后路由到的代码如下 – queueXml: var fs = require('fs'); var step = require('step'); var AWS = require('aws-sdk'); AWS.config.loadFromPath('./lib/aws/config.json'); var bucketName = 'xxxxxx'; var sqsEndPoint = 'http://xxxx'; exports.queueXml = function(req,res){ var key = getGuid(); step( function readPostedFile(){ fs.readFile(req.files.postedfile.path, this); }, function sendToS3(err, data){ if(err) throw err; […]

将私钥存储在静态的Angular站点上

我有一个静态的AngularJS文件。 它部署在Amazon S3上。 我正在访问一个具有散列validation机制的API。 我必须使用私钥才能创buildURL的散列并在标题上发送。 它工作的很好,但问题是,我必须find一种方法来保护私钥远离黑客。 我想知道是否有人知道保持密钥安全的方法。 我曾想过在node.js服务器上运行我的网站。 唯一的要求是我应该能够在Amazon Web服务上部署它。 是否有意义?