昨日書いた、Let's Encryptプロジェクト。
Hello World, Let's Encryptより |
5月のStartSSL更新に間に合うよう…と書いたものの、やっぱり気になるのでさっそくやってみた。
yano@vps:~$ git clone https://github.com/letsencrypt/letsencryptとやってみたところ、何やらエラーになったっぽかったので昨夜は一旦諦めたのだが、今朝Let's Encrypt の使い方を読み直したところ、
yano@vps:~$ cd ~/letsencrypt/
yano@vps:~/letsencrypt$ ./letsencrypt-auto certonly -a standalone -d mail.bravotouring.com
Let's Encrypt クライアントソフトウェアは、ドメイン所有者であることの認証に TCP Port 80 を使用しているため、SSL/TLS サーバ証明書を取得プロセスを完了させるためには、Webサーバを一時的に終了させる必要があります。と書いてあるのに気付いた。
というわけで、Webサーバを一時的に終了させた後でやり直して /etc/letsencrypt/archive 配下に証明書等が生成される事を確認。
apache設定ファイル /etc/apache2/sites-available/mail.bravotouring.com.conf の
SSLCertificateFile /etc/letsencrypt/live/mail.bravotouring.com/cert.pemで/etc/letsencrypt/live 配下のシンボリックリンクを指すようにして確認OK。
SSLCertificateKeyFile /etc/letsencrypt/live/mail.bravotouring.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mail.bravotouring.com/chain.pem
…と思ったのだが、自宅のIPv6環境からではダメだった。なんだ~、Let's Encryptまだまだかな…と思いつつ、StartSSLの証明書に戻してみても状況は変わらず。おぉぉぉっ、そういえば6月のIPv6 by auひかりの後は確認してなかった気がするよ。orz
「IPv6だとサーバ証明書も違うんだっけ、ていうかIPアドレス関係あったっけか?」と思い調べてみたところ、やはりそういうわけでもないらしい。"IPアドレス"で縛られてしまうようだと分散冗長構成に差し支えるので、大規模な商用サービスでは全然使えない事になる。
という事は、単純にapache設定のIPv6対応をしくじっているという事が考えられるので/etc/apache2/sites-available/mail.bravotouring.com.confを素直に見直したところ、
<VirtualHost www.bravotouring.com:443>を
<VirtualHost *:443>と訂正する事で無事解決した。
【追記】webrootプラグインを使用する事でWebサーバを一時的に終了させずに認証できた。にゃるほど~。
yano@vps:~/letsencrypt$ sudo ./letsencrypt/letsencrypt-auto certonly --webroot --webroot-path=/var/www/html -d mail.bravotouring.com
【参照】
●INTERNET Watch http://internet.watch.impress.co.jp/
┣証明書を無料で発行、HTTPSの導入を支援する「Let's Encrypt」2015年夏開始 2014年11月19日
┗ファーストサーバ、無料SSL証明書「Let's Encrypt」の取り扱いを開始 2016年2月24日
●Let's Encrypt https://letsencrypt.org/
┗Let's Encrypt Launch Schedule 2015年6月16日
●Let's Encrypt 総合ポータル https://letsencrypt.jp/
┣Let's Encrypt の使い方
┗ユーザーガイド
●GitHub - letsencrypt/letsencrypt https://github.com/letsencrypt/
●Wikipedia https://ja.wikipedia.org/wiki/
┣HTTPS
┣Transport Layer Security
┗Let's Encrypt