Elastic Beanstalk for NodeJS上的SELF_SIGNED_CERT_IN_CHAIN错误
我很清楚这个问题的根源,因为npm
在他们的博客上写道: http : //blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more
解决scheme是要么:
1)升级你的npm版本
npm install npm -g
要么
2)告诉你当前版本的npm使用已知的注册商
npm config set ca ""
但是,这两种解决scheme都不适用于Elastic Beanstalk。 npm
链接到已安装节点的版本(v0.10.10),并且不可能告诉当前的npm版本使用已知的注册服务器。
我为NodeJS运行一个64位Amazon Linux实例
在.ebextensions
中添加此命令不会有帮助:
container_commands: 01_npm-fix: command: /opt/elasticbeanstalk/node-install/node-v0.10.10-linux-x64/bin/npm config set ca ""
任何人都想出了这个解决scheme?
我也为此而挣扎。 修复: https : //gist.github.com/anonymous/fb32a4b053fe121b0b03 。 在container_commands
应用时, npm install
已经运行。
今天有同样的问题。 我通过设置我的全局npmrc文件来修复它,如下所示:
02_no-cert: command: "rm -rf /opt/elasticbeanstalk/node-install/node-v0.10.21-linux-x64/etc && mkdir /opt/elasticbeanstalk/node-install/node-v0.10.21-linux-x64/etc && echo 'ca = ' > /opt/elasticbeanstalk/node-install/node-v0.10.21-linux-x64/etc/npmrc" ignoreErrors: true
所以我想出了一个办法让它工作:
把它放在.ebextensions
:
commands: 01_enable_rootaccess: command: echo Defaults:root \!requiretty >> /etc/sudoers 02_no-cert: command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.10-linux-x64/bin/npm config set ca ""
在我的情况下工作就像一个魅力。
可悲的是,没有为我工作。 亚马逊给了我一个不同的版本,也没有任何工作:
命令:01-command:command:'$(find / opt / elasticbeanstalk / node-install / * / bin | grep“npm $”| head -n1)config set ca“”'
这对我也不起作用。
我所做的发现:当运行“命令”块时,node-install文件夹是空的。 我认为这是因为在节点+ npm之前运行的命令完全部署到裸露的实例。
我会在今天晚些时候尝试和testing这个假设,并提供进一步的反馈。
- Node.js – Elastic Beanstalk – Winston – / var / log / nodejs
- 将node.js应用程序部署到Amazon Elastic Beanstalk时出错
- Amazon AWS Elastic Beanstalk NodeJS应用程序
- AWS EB Node.JSlogin到CloudWatch
- 密码保护AWS Node EB应用程序
- Elastic Beanstalk CLI错误:此目录尚未使用EB CLI进行设置您必须首先运行“eb init”
- AWS Elastic Beanstalk自定义静态文件夹403错误页面
- 在elasticbeanstalk中设置NODE_ENVvariables
- 找出哪个AWS Beanstalk环境我的Node.js应用程序当前正在运行的最佳实践是什么?