めりくり
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。
Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!
Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。
このアカウントは、notestockで公開設定になっていません。
@mametsuko 最初にcertbotで証明書を発行した際に、発行した証明書を無効にせずにやり直したりしたかな?
現在使っている証明書が全て正常に使えているなら、ほっとけば期限が切れてもう通知してこなくなるかなー。
@mametsuko まず、証明書の更新が行われたら、それを適用するために必要な処理を入れておく場所があります。
/etc/letsencrypt/renewal-hooks/deploy
ここに、reload.sh とかシェルスクリプトを作っておくと、証明書の更新が無事に出来たときだけ実行してくれます。
中身はこんな感じ。
#!/bin/sh
systemctl reload nginx
ということで、
sudo -e /etc/letsencrypt/renewal-hooks/deploy/reload.sh
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/reload.sh
@mametsuko 定期実行は仕掛けてある?
私は最近、systemdのtimerでやってる。
sudo -e /etc/systemd/system/certbot-renewal.service
[Unit]
Description=Certbot Renewal
[Service]
Type=oneshot
ExecStart=/usr/local/bin/certbot -q renew
PrivateTmp=true
[Unit]
Description=Run certbot-renewal twice daily
sudo -e /etc/systemd/system/certbot-renewal.timer
[Timer]
OnCalendar=*-*-* 00,12:00:00
RandomizedDelaySec=43200
Persistent=true
sudo systemctl enable certbot-renewal.timer
sudo systemctl start certbot-renewal.timer
こんな感じ。
@mametsuko まず、証明書の状態を確認するコマンド覚えておいて。
sudo certbot certificates
期限とか見えるから。
あと、タイマーかけといたサービスの情報一覧を見る。
sudo systemctl list-timers
最後にいつ実行して、どのぐらい時間が経ってるか、次にいつ実行するか、とかみられるよ。
実際の履歴はこう。
sudo journalctl -ru certbot-renewal.service
動いてるかどうか、見ておいた方がいい。1日に2回、ランダムにチラシながら実行するようにしてある。
@mametsuko 一緒に見てくれている人のために、以前のリプライをあげておいたけども、
certbotのパスを確認してなかったので、確認する
which certbot
certbot-renewal.service の中のパスが違ってたら直してね。
ファイル書き換えたら、
sudo systemctl daemon-reload
で、実行している記録、なさそう?
Fediverse Advent Calendar 2020 (第4) 9日目の記事を書きました!
サーバーを閉じるとき、タダで410を返すサービスを作る方法です
とりあえず勢いだけで書いたので、後で追記したりするかも…
https://www.notion.so/cybergene/410-6a5d339622a649a3a90b4a5da56bd7a7
@mametsuko あと、外側から証明書の期限を確認する方法も覚えておいた方がいいかもしれない。
openssl s_client -connect misskey.mametsuko.net:443 2>&1 < /dev/null | openssl x509 -noout -startdate -enddate
cloudflareをかぶせているなら、こっちはcloudflareの証明書の期限がでてくる。
openssl s_client -connect xxx.xxx.xxx.xxx:443 -servername misskey.mametsuko.net 2>&1 < /dev/null | openssl x509 -noout -startdate -enddate
こちらは、xxx.xxx.xxx.xxxにVPSの生のアドレスを書いて、サーバ名を別に指定する方法。cloudflareの内側の、VPSに設定した証明書の期限が確認できる。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
@izumi SubwayTooterはv4.3.5から対応(試験リリースなので自分でapkとってきてインストールする必要あり)
このアカウントは、notestockで公開設定になっていません。
#fedibird 昨晩は長時間タイムラインが流れない状態となりご不便をおかけしました。
ざっくりいうと、conversationsというテーブルに重複データが存在することが発覚し、重複の解消とインデックスの再構築を行っていました。
単純に処理が遅延しただけで、ロスはなかったかと思います。つまっていたのはdefaultキューだけで、外部サーバとのやりとりについては遅延なしで動作していたかと思います。
なお、conversationsは投稿データ(statuses)に次いで2番目に大きなテーブルで、最適化直後の現在4.36GBあります。
このアカウントは、notestockで公開設定になっていません。
このアカウントは、notestockで公開設定になっていません。
@guskma 最初にインデックス消して、データ統合やって、最後にインデックス作るから、実行中はインデックス無しでクエリが走って死ぬほど重かったりするよ!
このアカウントは、notestockで公開設定になっていません。
話題のフナムシ食を調べてみましたが、救いようがないマズさだという結論でよさそうですね。釣り餌には便利そうですが。現場からは以上です。
@popn_ja @mametsuko 一番可能性が高いと考えているのは、サーバ構築中に試行錯誤しているあいだに、複数回、証明書を発行したのではないかということです。
メールがくる条件は、nginxの設定のようにサーバ上でどう見えるかではなく、Let's Encryptのサーバに対して更新手続き(certbot renew)を行ったかどうかで、nginxやcloudflareの設定は影響しないと思います。
最初に発行した証明書を正しい手順で失効させずに(certbot revoke および certbot delete)、何か別の方法でやり直したりしていないでしょうか?
いずれにしても、現在手元にある証明書がきちんと更新できていますし、失効させなかった証明書も期限がくれば勝手に失効するので、ほっとけばいいんじゃないかなと思います。
このアカウントは、notestockで公開設定になっていません。
サティス様の『ホットケーキミックスで色々作ってみたのじゃ〜』が公開されているので、みてくだされ。
Fediverse Advent Calendar 2020の9日目の記事ですよ!
QT: https://fedibird.com/@Satis/105348213681580359
このアカウントは、notestockで公開設定になっていません。