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)
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)
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.
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.
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.