Mkcertは、実際のCAから購入しなくても、ローカルで信頼できる証明書を作成できる、無料のシンプルで非常に便利なツールです。開発者は通常ローカルシステムで作業し、ローカルホストでCAからの信頼できる証明書を使用することは常に不可能です。 Mkcertを使用すると、面倒なことなく独自の証明書を管理できます。
この投稿では、Ubuntu20.04でMkcertを使用してローカル開発用の信頼できるSSL証明書を作成する方法を紹介します。
- Ubuntu20.04デスクトップを実行しているシステム。
- ルートパスワードはサーバーで構成されています。
まず、次のコマンドを実行して、システムパッケージを更新されたバージョンに更新します。
apt-get update -y
すべてのパッケージが更新されたら、次のステップに進むことができます。
Mkcertをインストール
Mkcertユーティリティをインストールする前に、必要なパッケージをサーバーにインストールする必要があります。次のコマンドでインストールできます:
apt-get install wget libnss3-tools
すべてのパッケージがインストールされたら、Githubから最新バージョンのMkcertをダウンロードします。
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
Mkcertをダウンロードした後、ダウンロードしたバイナリをシステムパスに移動します:
mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert
次に、実行権限をmkcertに設定します。
chmod +x /usr/bin/mkcert
次に、次のコマンドを使用してMkcertのバージョンを確認します。
mkcert --version
次の出力が表示されます。
v1.4.3
次に、次のコマンドを実行して、ローカルCA証明書を生成します。
mkcert -install
次の出力が表示されます。
Created a new local CA ???? The local CA is now installed in the system trust store! ?? The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! ????
次のコマンドを使用して、CA証明書のパスを確認できます。
mkcert -CAROOT
次の出力が表示されます。
/root/.local/share/mkcert
次に、次のコマンドを使用して、ローカルでホストされているWebサイトの証明書とキーファイルを生成できます。
mkcert app.example.com localhost 127.0.0.1 ::1
次の出力が表示されます。
Created a new certificate valid for the following names ???? - "app.example.com" - "localhost" - "127.0.0.1" - "::1" The certificate is at "./app.example.com+3.pem" and the key at "./app.example.com+3-key.pem" ? It will expire on 1 November 2023 ????
次に、生成された証明書を使用するようにNginxWebサーバーを構成する必要があります。
まず、生成された証明書ファイルを/ etc /ssl/ディレクトリにコピーします。
cp app.example.com+3* /etc/ssl/
次に、NginxWebルートディレクトリに適切な所有権を設定します。
chown -R www-data:www-data /var/www/html/
次に、次のコマンドを使用してNginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/conf.d/app.conf
次の行を追加します:
server { listen 80; server_name app.example.com; root /var/www/html; } server { listen *:443 ssl; root /var/www/html; server_name app.example.com; ssl_certificate /etc/ssl/app.example.com+3.pem; ssl_certificate_key /etc/ssl/app.example.com+3-key.pem; }
終了したらファイルを保存して閉じ、構文エラーがないかNginxを確認します。
nginx -t
次の出力が表示されます。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
次に、Nginxサービスを再起動して、変更を適用します。
systemctl restart nginx
次に、/ etc / hostsファイルを編集し、app.example.comをシステムIPアドレスにバインドします。
nano /etc/hosts
次の行を追加します:
your-server-ip app.example.com
次に、Webブラウザーを開き、URL https://app.example.comを入力します。 。ドメインがMkcertで保護されていることを確認する必要があります。
次に、ロックをクリックします アイコン。次のページに証明書に関する情報が表示されます。
おめでとう!これで、Mkcertが正常にインストールされ、ローカル開発用の信頼できるCA証明書が作成されました。 Mkcertは開発環境でのみ使用することをお勧めします。実稼働環境にはお勧めしません。