- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-11-23T09:42:12+00:00","default:wikiadmin","wikiadmin")
-無償のSSL証明書。自動で更新できるツール付きで驚くほど簡単に導入可能
-ACME(Automatic Certificate Management Environment)というRFCプロトコルに準拠したcertbotが使えるようになったのでほぼ自動化可能
-まずは個別証明書で2020/07の更新を乗り切る。
*参考情報 [#lf95051f]
https://qiita.com/Esfahan/items/9f11b38668239d1b52c5
*クライアントツール certbot [#k7f9ee55]
https://qiita.com/ariaki/items/5680cb6da6223844af4e
EPELパッケージがあれば一発でインストール可能
yum install python2-certbot-apache.noarch
「sudo yum reinstall python-urllib3
sudo yum reinstall python-requests」のエラーが出たのでurllib3とrequestを入れ直した。
**コマンド [#rd9e2789]
sudo pip uninstall requests
sudo pip uninstall urllib3
sudo yum remove python-urllib3
sudo yum remove python-requests
certbot certonly --webroot -w /var/www/vhosts/wiki -d wiki.rutake.com
しかし今度はaws cli が動かなくなった。yumのパッケージが2.7向けで古いのが原因。
**AWS-CLIを仮想環境に入れる [#q8385810]
python3 -m venv ~/awscli-v2
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
./aws/install --install-dir ~/awscli-v2/aws-cli --bin-dir ~/awscli-v2/bin
source ~/awscli-v2/bin/activate
**根本対応はpython3でpipで入れる [#n3d0db5b]
python3 -m venv ~/certbot-python3
cd certbot-python3/
source bin/activate
pip3 install certbot
pip3 install --upgrade pip
pip3 install awscli
certbot renew
*証明書発行 [#i6d946f8]
初回はインタラクティブにメールアドレスの登録などがある。
certbot certonly --webroot -w /var/www/www.mywebsite.jp/ -d www.mywebsite.jp
*バックアップ&リストア [#v5f87831]
-3か月運用してなぜか証明書受け継がれている
-/etc/letsencrypt以下をバックアップしてリストアすればよい。
*ドメイン追加 [#f76a477c]
The requested apache plugin does not appear to be installed
*証明書インストール [#z29b113e]
**Apache運用中のときに証明書発行するコマンド [#rd9e2789]
一度にやろうとしたら失敗したので1ドメインごとに取得、最初だけメールアドレスやら規約同意やら。
certbot certonly --webroot -w DOCUMENT_ROOT -d YOUR_DOMAIN
1回目失敗。2回目成功なぜ?/etc/letsencrypt/live/[ドメイン名]/に証明書が作成される
Let's Encryptからアクセスされるので空のVirtualHost作ってからやるのが良い。
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName node.rutake.com
</VirtualHost>
certbot certonly --webroot -w /var/www/html/ -d node.rutake.com
**作成された証明書 [#ff85339c]
|SSLCertificateFile|/etc/letsencrypt/live/wiki.rutake.com|
|SSLCACertificateFile|/etc/letsencrypt/live/wiki.rutake.com|
|SSLCertificateKeyFile|/etc/letsencrypt/live/wiki.rutake.com/privkey.pem|
*ワイルドカード証明書 [#i7b0715a]
https://qiita.com/chamaharun/items/566c78bb8a13b4c2bc16
*認証方式 [#mdbb32e2]
-HTTP/HTTPS(.well-known/の下に認証ファイルを配置する。RapidSSLと同じ方式)
-DNS方式(アクセス権限をかけているWebサーバーに対して有効)
**HTTP-01 [#wbeaf8e6]
Let's encryptで取得したトークンを指定のディレクトリ以下に配置する。一番楽かな
http://example.com/.well-known/acme-challenge/(取得したトークン)
**DNS方式 [#od9cc631]
DNS-01 Challengeという方式。_acme-challenge.目的ドメインのTXTレコードにトークンを設定する。WEBサーバーが不要なので、ロードバランスしているとかHTTP-01がやりづらいときの選択肢
***txtレコード追加 [#b520b717]
dig -t txt _acme-challenge.rutake.com
dig txt rutake.com
https://www.xmisao.com/2016/04/18/get-free-certification-by-letsencrypt-dns-01-authentication.html
**ACMEv2方式 [#w0015528]
_acme-challenge.yourdomain.comのTXTレコードに認証情報を設定する。
https://qiita.com/binzume/items/698d12779b8ad5cda423
https://narusejun.com/archives/23/
*value domain対応 [#q8ddeb7f]
txtレコードの動的編集ができないようなので、別のDNSに向ける
a tmpdns 別のDNSIP
ns _acme-challenge tmpdns.rutake.com.
*cloudfrare [#b6307a2e]
https://blog.cles.jp/item/10130