LoginSignup
2
0

UbuntuでLet's Encryptを使用してSSL証明書を作成する方法

Last updated at Posted at 2024-01-03

Let's Encryptとは

Let's Encryptは無料のオープンソースの証明書発行機関で、インターネットセキュリティを強化するために設立されました。ユーザーは簡単にSSL/TLS証明書を取得し、Webサイトの安全なHTTPS接続を実現できます。Let's Encryptは自動化されたプロセスを提供しており、証明書の取得と更新を容易に行えるため、特に小規模なWebサイトや個人の開発者にとって理想的な選択肢です。

SSL照明証の重要性

SSL(Secure Sockets Layer)証明書は、インターネット上で情報を安全に送受信するために不可欠です。SSL証明書を使用すると、Webサイトとそのユーザー間のデータが暗号化され、第三者によるデータの盗聴や改ざんを防ぐことができます。これは、特に個人情報や金融情報などの機密データを扱うWebサイトにとって重要です。さらに、SSL証明書はWebサイトの信頼性を高め、Googleなどの検索エンジンによるランキング向上にも寄与します。

Let's Encryptのインストール

sudo apt-get install letsencrypt

SSL証明書の発行

まずはnginxを停止する

sudo systemctl stop nginx

それから以下のコマンドで証明書を取得する。your_domainのところはドメイン名を指定する。

sudo letsencrypt certonly --standalone -d your_domain.com

このようなメッセージが出たら、証明書の発行が成功した。

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:

nginxの設定

以下の例はyour_domain.comに対する設定です。

/etc/nginx/sites-available/your_domain.com
server {
  listen 80;
  server_name localhost your_domain.com;
  return 301 https://$host$1$request_uri;
}

server {
  listen 443 ssl http2;
  ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem;

証明書の更新

手動の場合

SSL証明書の有効期限は90日なので、まだ期限が切れないうちに更新する必要があります。

更新するには、まずはnginxを停止して、SSLを更新して、それからnginxを起動するフローです。

sudo systemctl stop nginx
sudo letsencrypt renew
sudo systemctl start nginx

これによってウェブサーバーが一旦停止されるのが留意点。

自動の場合

cronで自動化することができます。設定するには sudo crontab -eコマンドを実行して、それから以下の内容を入れます。

# Renew the Let's Encrypt SSL certificates at 3:00 AM on the 1st of every month
00 03 01 * * sudo systemctl stop nginx; sudo letsencrypt renew; sudo systemctl start nginx

保存してから反映されます、サーバーの再起動は必要ありません。

これによって、毎月1日の朝3時に、nginx停止 → SSL証明書更新 → nginx起動というフローで自動的にSSL証明書が更新されます。

午前3時を設定する理由は、その時にサイトを利用するユーザーがあまりいないからです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0