Certificates mismatch on NGINX redeploy
Scenariusz
-
Mam NGNIXa z Certbotem, skonfigurowane przy użyciu naszych ról.
-
Robię redeploy na istniejącym środowisku, nic nie zmieniam w konfiguracji certyfikatów.
-
NGINX rzucił mi taki błąd:
Dec 01 10:33:58 metrics02.stg.metrics.apl.task.gda.pl docker[1952556]: 2022/12/01 10:33:58 [emerg] 914640#914640: SSL_CTX_use_PrivateKey("/etc/nginx/certs/stg.metrics.apl.task.gda.pl.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch) Dec 01 10:33:58 metrics02.stg.metrics.apl.task.gda.pl docker[1952556]: nginx: [emerg] SSL_CTX_use_PrivateKey("/etc/nginx/certs/stg.metrics.apl.task.gda.pl.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch) Dec 01 10:33:58 metrics02.stg.metrics.apl.task.gda.pl systemd[1]: nginx.service: Main process exited, code=exited, status=1/FAILURE
-
Usuwam certyfikat ręcznie:
sudo rm -rf /etc/nginx_certbot/certificates/stg.metrics.apl.task.gda.pl
-
Odpalam playbook jeszcze raz.
-
Wszystko znów jest dobrze.
Obserwacje
-
Zdarzyło mi się to pierwszy raz, zwykle działa dobrze.
-
Odpalenie playbooka n razy nie pomaga w niczym, trzeba ręcznie usunąć certyfikat.
-
Występują jakieś wyścigi między uprawnieniami do katalogu ustawionymi przez playbook a tymi ustawianymi przy synchronizacji plików:
Playbook robi tak:
drwx------ 9 root root 108 Dec 1 00:37 . drwx------ 3 root root 41 Nov 10 08:11 .. drwx------ 3 root root 42 Nov 10 08:12 accounts drwx------ 3 root root 41 Nov 10 08:13 archive drwx------ 2 root root 62 Dec 1 00:37 csr drwx------ 2 root root 62 Dec 1 00:37 keys drwx------ 3 root root 55 Nov 10 08:13 live drwx------ 2 root root 46 Dec 1 00:37 renewal drwx------ 5 root root 43 Nov 10 08:12 renewal-hooks
A po zaciągnięciu plików przez certbota jest tak:
drwx------ 8 root root 87 Dec 1 10:50 . drwx------ 3 root root 41 Dec 1 10:50 .. drwxr-xr-x 3 root root 42 Dec 1 10:50 accounts drwxr-xr-x 3 root root 41 Dec 1 10:50 archive drwxr-xr-x 2 root root 62 Dec 1 10:50 csr drwxr-xr-x 2 root root 62 Dec 1 10:50 keys drwxr-xr-x 3 root root 55 Dec 1 10:50 live drwxr-xr-x 2 root root 46 Dec 1 10:50 renewal
To raczej nie jest przyczyna problemu, ale tak czy inaczej dziwne.