Let's Encryptのちょっとだけ補足
サーバーを止めないといけないの?
先日の記事でLet’s Encryptの導入方法を紹介しました。
仕方がないので
./letsencrypt-auto certonly --standalone -d mumpk.com -d www.mumpk.com
を使って、単に証明書だけを発行するようにしたところ、これは全く問題なく実行されて/etc/letsencryptディレクトリ以下に必要なファイルが作成されました。
上記のようにコマンドを実行すると問題なく証明書が作成のですが、これにはちょっとした問題がありまして、実行時にウェブサーバーを停止する必要がありました。
なぜ必要なのか疑問には思ったものの、深夜でちょっと眠かったのと、アクセスも全然なかったのであまりよく考えずにApacheを停止してから実行しちゃいました。証明書の発行や更新のために毎度サーバーを止めてはいられないので、もうちょっと突っ込んで調べてみました。
検索にヒットしたこのページにLet’s Encryptの事が詳しく書かれていて、表題に出てくるACME(証明書自動発行プロトコル)が関係していたようです。
このプロトコルはメッセージのやり取りにHTTPSとJSONを使っているので、Let’s Encryptがこのポートを使うために、起動中のApacheプロセスを停止しろとメッセージが出たようです。
ただ結論から言うとHTTPサーバーを止める必要はなくて、コマンドオプションで--webroot
を指定すれば良いだけでした。すでにウェブサーバーが実行されている場合は、こちらを使って証明書を作成してください。ちなみに証明書を更新する場合もこれでオッケーです。
./letsencrypt-auto certonly --webroot -w /var/www/ -d mumpk.com -d www.mumpk.com
あとは数ヶ月に一度リニューする事を忘れなければ愉快なHTTPS生活が送れます。H2OなどのHTTP2サーバーの運用には証明書が必須ですので、来るべき日に備えて今からサクッとHTTPS化しておきましょう。
Let’s Encrypt !!