Vamos criptografar o arquivo de certificado SSL não encontrado Erro, mas ainda trabalhando

5

Estou executando Certificados SSL de Vamos criptografar . Eu tenho eles instalados na minha máquina Ubuntu rodando o Apache. A configuração funciona bem e posso lançar o site, ver o cadeado verde e até obter um A + no SSL Labs.

O problema é que quando eu faço apachectl configtest o servidor retornaria um erro de arquivo não encontrado:

SSLCertificateFile: file '/etc/letsencrypt/live/www.example.com/fullchain.pem' not exist or is empty.

Mas sudo service apache2 restart funciona muito bem.

Eu recebi essa pergunta em Vamos Criptografar a Comunidade mas o problema ainda não foi resolvido.

sudo cat /etc/letsencrypt/live/www.example.com/fullchain.pem works, retorna detalhes válidos do certificado.

sudo x509 -text -noout -in /etc/letsencrypt/live/www.example.com/fullchain.pem

não funciona e retorna o erro abaixo:

Error opening Certificate /etc/letsencrypt/live/www.example.com/fullchain.pem
139774254929568:error:02001002:system library:fopen:No such file or directory:bss_file.c:398:fopen('/etc/letsencrypt/live/www.example.com/fullchain.pem.','r')
139774254929568:error:2007402:BIO routines:FILE_CTRL:system lib:bss_file.c:400:
ubable to load certificate

Alguma idéia de por que estou recebendo erros no apachekt configtest e openssl ?

Obrigado pessoal!

    
por jarvis 28.04.2016 / 02:07

4 respostas

5

Depois de várias noites sem dormir, finalmente consegui que funcionasse. (declaração de overkill) Todos nós sabemos que foram permissões, mas exatamente onde estava algo para verificar.

Eu continuei trabalhando com / ect / letsencrypt / live e os diretórios e arquivos sob isso. Eu continuei mudando as permissões do original para 0755 e 0777. O que eu não vi imediatamente foi que / etc / letsencrypt / live era um link criado a partir de / etc / letsencrypt / arquivo e tinha uma permissão 0700 . É por isso que não foi capaz de ler o arquivo. Depois de alterar a permissão de / etc / letsencrypt / archive para 0755 , apachectl configtest já respondeu com Syntax OK .

Embora o problema original tenha sido resolvido, vou encaminhá-lo para Vamos criptografar porque tudo isso foi Instalação automática de certificados. Algo como isso não deveria acontecer em "auto". Mas minha configuração pode ter algo a ver com o problema de permissão desde que eu o instalei usando um usuário não-root (mas fiz sudo).

Espero que isso ajude alguém.

    
por 29.04.2016 / 19:00
3

No meu caso, os arquivos e permissões em que não o problema. Eu estava tentando reiniciar o servidor com apachectl restart ou testar a configuração ( apachectl configtest ou apachectl -t ). The user running the command (me) simply didn't have the proper permissions to access the certificates. I just had to prefix the commands with sudo 'para executá-los como root! Sem mais erros, o teste de configuração retorna "Syntax OK" e eu posso reiniciar o servidor. (OK, eu estou um pouco envergonhado que demorei tanto tempo para descobrir isso ...)

    
por 08.12.2017 / 18:00
1

Como originalmente comentado por Ian Terle , a alteração das permissões no diretório "live" agora corrige o problema:

sudo chmod -R 0755 /etc/letsencrypt/live

Observação: eu estava observando o mesmo erro do OP.

Isso foi confirmado em:
Ubuntu 16.04.2 LTS
Apache / 2.4.18 (Ubuntu)

    
por 28.04.2017 / 23:53
1

As permissões nos arquivos de certificados devem ser deixadas bem apertadas. Para permitir que os processos apropriados acessem os arquivos cert: inicie o apache usando os seguintes comandos.

sudo service httpd start

Alternativamente, reinicie normalmente usando este comando:

sudo service httpd graceful
    
por 10.08.2017 / 19:25