Disabe letsencrypt falhou e a execução do discourse-setup teve alguns alertas não normais

Estou tentando reconfigurar o certificado SSL e quero desativar o certificado gratuito do Let’s Encrypt.
Como tenho um certificado comprado, encontrei algumas operações através do Google.

Modifiquei diretamente o app.yml e confirmei que as chaves key e cer em /var/discourse/shared/standalone/ssl/ e os nomes dos arquivos estão consistentes com o arquivo de configuração. Em seguida, executei o rebuild, mas o resultado foi falha; o sistema continua usando o certificado do Let’s Encrypt.

O nginx apresentou os seguintes logs de erro:


2021/09/25 16:37:26 [emerg] 48#48: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: cannot load certificate "/shared/ssl/ssl.crt": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

Verifiquei a existência do arquivo no diretório:

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*
-rw-r--r-- 1 root root 7868 Sep 25 16:24 ssl.cer
-rw------- 1 root root 1675 Sep 25 16:24 ssl.key

Também encontrei algumas discussões na seguinte URL:

Removing Let’s Encrypt from installation choice

Ao executar ./discourse-setup, recebi o seguinte alerta:

./discourse-setup: line 471: [: 1234567890123456: binary operator expected

Alguma sugestão para desativar o Let’s Encrypt ou resolver o problema de reconfiguração?

2 curtidas

Existem alguns tópicos sobre como usar seu próprio certificado. Você pode tentar pesquisar, mas este nicho é Apenas Configuração Avançada: Permitir SSL/HTTPS para sua configuração Docker do Discourse

1 curtida

Olá pfaffman

Obrigado pela sua resposta.
Com as informações que você forneceu, eu já tenho uma referência e um experimento.
Mas o resultado falhou: o serviço nginx não consegue ler o arquivo.

A mensagem de erro está descrita acima:

2021/09/25 16:37:26 [emerg] 48#48: não foi possível carregar o certificado "/shared/ssl/ssl.crt": BIO_new_file() falhou (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:27 [emerg] 78#78: não foi possível carregar o certificado "/shared/ssl/ssl.crt": BIO_new_file() falhou (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:28 [emerg] 80#80: não foi possível carregar o certificado "/shared/ssl/ssl.crt": BIO_new_file() falhou (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:29 [emerg] 82#82: não foi possível carregar o certificado "/shared/ssl/ssl.crt": BIO_new_file() falhou (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:30 [emerg] 95#95: não foi possível carregar o certificado "/shared/ssl/ssl.crt": BIO_new_file() falhou (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:31 [emerg] 104#104: não foi possível carregar o certificado "/shared/ssl/ssl.crt": BIO_new_file() falhou (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)

2021/09/25 16:37:32 [emerg] 106#106: não foi possível carregar o certificado "/shared/ssl/ssl.crt": BIO_new_file() falhou (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/shared/ssl/ssl.crt','r') error:2006D080:BIO routines:BIO_new_file:no such file)
1 curtida

Consegui alterar com sucesso para usar meu próprio certificado.

Continuei usando o nome errado do arquivo de credenciais; a configuração do nginx exige um arquivo .crt, mas eu continuava instalando e testando um arquivo .cer. Assim, resolvi o problema de SSL.

Obrigado.

3 curtidas

Algo que se destacou em suas primeiras postagens foi

cannot load certificate "/shared/ssl/ssl.crt"

e
Confirmar se o arquivo está no diretório

root@discourse-test:/var/discourse/shared/standalone/ssl# ls -al ssl.*

Note a diferença após a parte /shared/ dos caminhos. O Nginx esperava que o arquivo ssl.crt estivesse na pasta shared/ssl/. Você o encontrou em shared/standalone/. O arquivo não estava no caminho onde o Nginx o procurava.

@JimPas Obrigado pela sua resposta.
Eu informei que o caminho não corresponde, porque um caminho é o do volume do Docker e o outro é o caminho real do arquivo no servidor.

Configuração Avançada Apenas: Permitindo SSL/HTTPS para sua configuração do Discourse no Docker

volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared

Parece não corresponder, mas na verdade é o mesmo.
O primeiro problema eu já resolvi.
A causa raiz para mim foi que não percebi o formato do certificado.
A configuração está definida para o formato crt, mas eu sempre uso arquivos no formato cer, então o nginx não conseguiu ler o arquivo de certificado com sucesso.

2 curtidas

:man_facepalming:
Nunca tinha percebido isso. Bom, que eu apanhe!
Fico feliz que você tenha percebido e consertado. :+1:

1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.