Letsencrypt/証明書/段階的実行について、ここに記述してください。
anaconda2 の下での実行記録
letsencrypt certonly --manual
メイルアドレスの入力が必要になる。
1. 確認方法がお粗末
66.133.109.36=outbound1.letsencrypt.org
- A record の問い合わせしかしてこない。
MXしか存在しないドメイン名ではmail address が不正だと言われる。
Aレコードありのドメイン名を指定することで、回避する。
-- ToshinoriMaeno 2015-11-20 03:19:40
2. -a manual
To receive instructions for the (fairly complex) process of obtaining a cert from Let's Encrypt by manually providing proof you control a domain: ./letsencrypt-auto certonly -a manual -d example.com \ --server https://acme-v01.api.letsencrypt.org/directory --agree-dev-preview
3. web server の代用品を動かす必要がある
magic string は当然ながら、毎回変わる。
Make sure your web server displays the following content at http://moin.qmail.jp/.well-known/acme-challenge/JYjhzY8zg3FyBtIAR6awsbKJTzpvko9xY4lAn8j_DkI before continuing: JYjhzY8zg3FyBtIAR6awsbKJTzpvko9xY4lAn8j_DkI.xttmDxxSGofWVbGjLEliGq7-GH3CLqTIqi1JR1IU5V4 Content-Type header MUST be set to text/plain.
テスト用: http://moin.qmail.jp/.well-known/acme-challenge/JYjhzY8zg3FyBtIAR6awsbKJTzpvko9xY4lAn8j_DkI
If you don't have HTTP server configured, you can run the following command on the target server (as root): mkdir -p /tmp/letsencrypt/public_html/.well-known/acme-challenge cd /tmp/letsencrypt/public_html printf "%s" JYjhzY8zg3FyBtIAR6awsbKJTzpvko9xY4lAn8j_DkI.xttmDxxSGofWVbGjLEliGq7-GH3CLqTIqi1JR1IU5V4 > .well-known/acme-challenge/JYjhzY8zg3FyBtIAR6awsbKJTzpvko9xY4lAn8j_DkI # run only once per server: $(command -v python2 || command -v python2.7 || command -v python2.6) -c \ "import BaseHTTPServer, SimpleHTTPServer; \ SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map = {'': 'text/plain'}; \ s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \ s.serve_forever()"
http://moin.qmail.jp はDJBのpublicfileが動作しているので、比較的簡単に対応できる。
- でも、3ヶ月に一回、これをやるのは忘れそうだから、手順を考えないといけない。(面倒)
-- ToshinoriMaeno 2015-11-20 06:58:26
「3ヶ月に一度やるのは面倒だ」と感じたので、打ち切りにします。
- FreeBSDで簡単に動くようになるのを待つ。w
-- ToshinoriMaeno 2015-11-20 07:11:40
返事がおかしいらしく、認証を通らない。
- logをみたら、末尾に改行がついているだけの違い。さあ、どうするか。
-- ToshinoriMaeno 2015-11-20 12:27:06
4. congratulations
$ letsencrypt certonly -a manual -d moin.qmail.jp --server https://acme-v01.api.letsencrypt.org/directory --agree-dev-preview
指示通りにやったつもりが、末尾に改行が入って、検証を通らなかった。 (echo -n なんか忘れていた)
%echo -n 84eQUTTf_c9AKPbj2UuRkuScIDspoeUYTIv_SpnvfsI.xttmDxxSGofWVbGjLEliGq7-GH3CLqTIqi1JR1IU5V4 > 84eQUTTf_c9AKPbj2UuRkuScIDspoeUYTIv_SpnvfsI
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/moin.qmail.jp/fullchain.pem. Your cert will expire on 2016-02-18. To obtain a new version of the certificate in the future, simply run Let's Encrypt again.
5. echo では不十分
For portability, echo should only be used if the first argument does not start with a hyphen (`-') and does not contain any backslashes (`\'). If this is not sufficient, printf(1) should be used.