O aplicativo Node.js no ElasticBeanstalk não pode acessar o arquivo de chave privada no servidor

1

Eu tenho um aplicativo node.js em execução no ElasticBeanstalk. Parte de sua configuração é um caminho para um arquivo de chave .p12. Quando o aplicativo tenta usar o arquivo de chave, uma exceção de permissão negada é lançada.

Minha pergunta é se estou colocando o arquivo de chave no melhor local com as permissões corretas ou se há algum outro lugar ou permissão que eu deva usar.

O aplicativo é um clone parse-server-example que é instalado em / var / app / current o servidor EB. Eu coloquei o arquivo de chave em /home/ec2-user/.ssh. Eu tentei definir permissões no arquivo de chave para 400, 644 e até 777. O próprio diretório .ssh tem 700. O erro que vejo é:

parse-server-example running on port 8081. /var/app/current/node_modules/parse-server/lib/ParseServer.js:339 throw err; ^

Error: EACCES: permission denied, open '/home/ec2-user/.ssh/key.p12' at Error (native)

    
por Michael Peterson 15.05.2016 / 22:23

2 respostas

0

Eu tenho isso também ao tentar instalar / executar etherpad

Acontece que isso não tem a ver com o perms dos arquivos, mas com os de um diretório superior

Se eu fizer isso como root, obtenho:

ls -l /etc/letsencrypt/live/domain/privkey.pem
lrwxrwxrwx 1 root root 42 May 20 13:03 /etc/letsencrypt/live/domain/privkey.pem -> ../../archive/domain/privkey1.pem

Mas se eu executar o mesmo comando que etherpad , obtenho uma permissão negada.

A execução de ls -ld em cada diretório revelou que live tinha permissões rwx------ , ou seja, o diretório não podia ser lido nem listado.

chmod 755 /etc/letsencrypt/live /etc/letsencrypt/archive

Isso corrige o problema no meu caso. Sua milhagem pode variar.

    
por 20.05.2016 / 20:53
0

O que acabou funcionando para mim foi criar um diretório para a chave .p12 e dar a propriedade do diretório e a chave para o usuário do nodejs.

sudo mkdir -p /etc/foo
sudo chown nodejs /etc/foo
sudo chmod 700 /etc/foo

sudo cp my_key.p12 /etc/foo

sudo chown nodejs /etc/foo/my_key.p12
sudo chmod 600 /etc/foo/my_key.p12
    
por 17.06.2016 / 19:32