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这个假设,并提供进一步的反馈。
- 多个package.json Elastic Beanstalk部署
- Amazon Elastic Beanstalk上的Node.js部署问题
- Amazon Elatisc BeanStalk单实例上的SSL端口NodeJS
- 如何将Node.js WebSocket服务器部署到Amazon Elastic Beanstalk?
- 弹性beanstalk上的node.js:firefox 502坏的网关
- 存储在AWS EB环境variables中的JSON将不带引号地进行检索
- Elastic Beanstalk CLI错误:此目录尚未使用EB CLI进行设置您必须首先运行“eb init”
- AWS EB部署Node应用程序:无法运行npm install
- 使用端口80的AWS Elastic Beanstalk上的WebSocket问题