Let’s encrypt で別サーバーで稼働している証明書を取得
Let’s encrypt でDNS認証で、別サーバーで稼働している証明書を取得
今回サーバー移設の話がありました。レンサバで運用していて別のクラウドに移設するとの事です。WebコンテンツやDBは移設側にコピーできたのですが、レンタルサーバーで運用している旧サーバーのSSL証明書がSSH接続できるがホームディレクトリ以外に移動できないので、Let’s encrypt で発行しているSSL証明書がダウンロードできません。
移設後のサーバーにSSL証明書を導入したいが、旧サーバーのSSL証明書がダウンロードできなし、新しいサーバー側でSSL証明書を発行してもDNSを切り替えていないので古いサーバーを見に行くのでこの方法も駄目でした
Let’s encrypt で発行する時に「–preferred-challenges dns」のオプションを利用すれば証明書を発行する時にDNS認証にかわりますので、この方法で発行します
DNS認証でSSL証明を取得する方法
1.SSL証明書を導入したいサーバーで以下のコマンドを実行します。
書式:certbot certonly –manual –preferred-challenges dns -d [ドメイン名]
$ certbot certonly --manual --preferred-challenges dns -d example.com Please deploy a DNS TXT record under the name _acme-challenge.example.com with the following value: do49rff4kr9fEppRTkCDiwodm834DKDLA_kdUDS Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
2.上記のコマンドを入力するとDNSサーバーに以下のように設定します。
ホスト名は「_acme-challenge.example.com」で、TXTコードを「do49~~」から始まる文字列を設定します。
「do49~~」のコードは乱数で発行されるので、その都度変わります
ホスト名 | 種別 | 内容 |
_acme-challenge.example.com | TXT | do49rff4kr9fEppRTkCDiwodm834DKDLA_kdUDS |
3.しばらくするとDNSにTXTコードが反映されるので、それまでは「Enter」キーを押さず待っておきます。
4.digコマンド等でDNSが反映したのを確認します
$ dig -t TXT _acme-challenge.example.com ;; ANSWER SECTION: _acme-challenge.example.com. 3600 IN TXT "do49rff4kr9fEppRTkCDiwodm834DKDLA_kdUDS"
5.DNSが反映したら「Enter」キーを押して、SSL証明書を発行します。証明書が発行されましたらApacheに設定すればOKです
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example/privkey.pem Your cert will expire on 2022-11-01. To obtain a new or tweaked
ディスカッション
コメント一覧
まだ、コメントがありません