Como renovar um certificado letsencrypt.org em um cron job?

0

Desde alguns dias, estou tendo problemas para renovar meu certificado letsencrypt.org para o meu servidor da Web.

A documentação das ferramentas letsencrypt pode ser boa ou ruim - isso é impossível porque há certbot , letsencrypt , certbot-auto , letsencrypt-auto , /etc/certbot que pode ser instalado ou executado no diretório de origem ou um subcomando inexistente e variado que todos de alguma forma reivindicam fazer o trabalho e então todos falham com uma saída incompreensiva com uma variação tão boa da roda de retorno sem sentido como:

  • Use of --agree-dev-preview is deprecated. Saving debug log to /var/log/letsencrypt/letsencrypt.log no HEAD da ramificação principal do link - você está enviando scripts que não funcionam?
  • Failed authorization procedure. [hostname] (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://[hostname]/.well-known/acme-challenge/JwhGtVHZ7x6pfBztDgYL-IRQXfa1JLwhAn84Hrzi_xo: Error getting validation data - nenhum comentário necessário
  • O guia oficial no link para o Ubuntu 17.04 e o Apache2 falha devido a

    Use of --agree-dev-preview is deprecated.
    Use of --agree-dev-preview is deprecated.
    Too many flags setting configurators/installers/authenticators 'webroot' -> 'apache'
    

    que me deixa sem noção se há algum sentido em perseguir isso

link tenta explicar isso, mas falha como qualquer coisa que não no formato SE. A informação está desatualizada e tudo o que foi dito está em contradição.

A documentação como man letsencrypt dificilmente pode ser usada, pelo menos não se você quiser entender o que está fazendo - não é obrigatório, mas é muito útil na administração de computadores - por exemplo, By default, it will attempt to use a webserver both for obtaining and installing the cert - não tenho certeza de como um servidor da Web deve executar as etapas envolvidas ...

Estou usando o Ubuntu 17.04.

    
por Karl Richter 13.08.2017 / 20:08

2 respostas

0

Meu próprio servidor é executado com

# Renew Let's Encrypt cert
0  5    * * *   root     /usr/bin/certbot renew --quiet

(este é o sabor do Ubuntu do crontab). Parece funcionar até agora. Segui as instruções no link e foi direto.

    
por 14.08.2017 / 02:00
0

E o segredo é: é preciso configurar o Apache (por exemplo, em /etc/apache2/apache2.conf ) para permitir a leitura do diretório adicionando

Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/
<Directory "/var/www/html/.well-known/acme-challenge/">
    Options None
    AllowOverride None
    ForceType text/plain
    RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)"
</Directory>

(de link ).

Não sei ao certo por que esse script é associado à automação se eu tiver que descobrir todos esses segredos manualmente - esse problema poderia ter sido resolvido automaticamente ou pelo menos ser apontado por uma mensagem de erro útil.

    
por 24.08.2017 / 02:17