Let's Encrypt で証明書を発行します
必要なもの
独自のドメインが必要です。
環境
- Ubuntu 24 on WSL
証明書を作成
まず、はLet's Encryptとやり取りしながら証明書を作成してくれるツールをインストールします。
> sudo apt-get install certbot
ツールのインストールが終わったら、証明書を発行します。
export DOMAIN=自分のドメイン export EMAIL=自分のメールアドレス sudo certbot certonly --agree-tos --email ${EMAIL} \ --preferred-challenges dns --manual \ -d *.apps.${DOMAIN} -d *.api.${DOMAIN}
以下のようにログが出力されます。
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator manual, Installer None Requesting a certificate for *.apps.自分のドメイン and *.api.自分のドメイン Performing the following challenges: dns-01 challenge for api.自分のドメイン - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name: _acme-challenge.api.自分のドメイン. with the following value: FvF51oEbOpQkTXsE7ACKW39a8phbL--vHIXDViHsHc8 Before continuing, verify the TXT record has been deployed. Depending on the DNS provider, this may take some time, from a few seconds to multiple minutes. You can check if it has finished deploying with aid of online tools, such as the Google Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.api.自分のドメイン. Look for one or more bolded line(s) below the line ';ANSWER'. It should show the value(s) you've just added. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue
このような感じで自分のドメインにTXTレコードを追加します。
書かれているGoogle Admin Toolboxへアクセスし、TXTレコードが正しいことを確認します。
正しかったらエンターを入力します。 正しくなかったら、正しくなるまで待ちましょう。 時間がかかっても正しくならない場合は、ドメイン側の設定が間違っているかもしれません。
Waiting for verification... Cleaning up challenges Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/apps.自分のドメイン/fullchain.pem Key is saved at: /etc/letsencrypt/live/apps.自分のドメイン/privkey.pem This certificate expires on 2024-09-11. These files will be updated when the certificate renews. NEXT STEPS: - This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date. Subscribe to the EFF mailing list (email: 自分のメール). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
証明書は/etc/letsencrypt/live
ディレクトリにできています。