ワイズリマインダー

Let’s Encryptから期限が切れるよ~とメールが来た

Let’s Encrypt からこんなメールが届いた。
【Let’s Encrypt certificate expiration notice for domain “*.hogehoge.domain”】

有効期限が切れますよーっと言うメールなんだけど、
そもそもcrontabで自動化してるんだけどなー。

$ sudo crontab -e

0 4 1 * * /usr/bin/certbot renew

うん。
ちゃんと入ってる。

手動で実行してみる。

$ sudo /usr/bin/certbot renew

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/hogehoge.domain.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator manual, Installer None
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
dns-01 challenge for hogehoge.domain
Waiting for verification...
Cleaning up challenges
Error output from txtdelete.php:
PHP Warning:  file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /usr/local/src/DirectEdit-hogehoge.domain/txtdelete.php on line 75
PHP Warning:  file_get_contents(): Failed to enable crypto in /usr/local/src/DirectEdit-hogehoge.domain/txtdelete.php on line 75
PHP Warning:  file_get_contents(https://www.mydns.jp/directedit.html): failed to open stream: operation failed in /usr/local/src/DirectEdit-hogehoge.domain/txtdelete.php on line 75

ん?
なんかエラー吐いてる。

Let’s Encryptが発行したDNS-01のトークンをmydnsに書き込むphpでエラーが出ているようだ。
もしやmydnsさんSSL切れてる?
それかLet’s EncryptのルートCA期限切れ問題かな??

ま、いいや。
証明書のチェックを飛ばそう。

mydnsにTXTレコードを書き込むプログラム2つを修正する。
「txtregist.php」と「txtdelete.php」
ほぼ同じ作業なので、txtregist.phpのみ記載する。

$ sudo cp /usr/local/src/DirectEdit-hogehoge.domain/txtregist.php /usr/local/src/DirectEdit-hogehoge.domain/txtregist.php.`date +%Y%m%d`
$ sudo vi /usr/local/src/DirectEdit-hogehoge.domain/txtregist.php

# 68行目に$POST_OPTION = array( 'http' => があるので、その直後の73行目あたりにこの2行を追記
$POST_OPTIONS['ssl']['verify_peer'] = false;
$POST_OPTIONS['ssl']['verify_peer_name'] = false;

この2つを保存して、手動で実行させてみる。

$ sudo /usr/bin/certbot renew

(略)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/hogehoge.domain/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

うん。
うまくいった。
めでたしめでたし。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください