Renova o certificado letsencrypt no httpd Apache

6

Estou usando certbot --webroot plugin e certbot renew para renovar o certificado, o que funciona, mas parece que httpd está armazenando em cache o certificado e não "vê" que ele foi atualizado. / p>

Existe um sinal para httpd recarregar os certificados?

p.s. Prefiro não reiniciar httpd para evitar tempo de inatividade.

    
por rustyx 09.08.2016 / 13:22

1 resposta

6

Para que httpd observe os novos certificados, solicite que eles façam uma " reinicialização gradual ". Dos documentos:

The USR1 or graceful signal causes the parent process to advise the children to exit after their current request (or to exit immediately if they're not serving anything). The parent re-reads its configuration files and re-opens its log files. As each child dies off the parent replaces it with a child from the new generation of the configuration, which begins serving new requests immediately.

Como uma reinicialização elegante, isso não causará tempo de inatividade.

Para que o letsencrypt / certbot acione uma reinicialização normal, use o argumento --post-hook . Esse argumento executará um comando uma vez, se qualquer renovação do certificado tiver sido tentada. A partir dos docs :

Command to be run in a shell after attempting to obtain/renew certificates. Can be used to deploy renewed certificates, or to restart any servers that were stopped by --pre-hook. This is only run if an attempt was made to obtain/renew a certificate. (default: None)

Então o comando que você quer é

certbot renew --post-hook "apachectl graceful"

ou se for executado a partir de um cron job

certbot renew --quiet --post-hook "apachectl graceful"

(Obrigado ao @RustyX pela ajuda com esta resposta)

    
por 11.08.2016 / 21:14