Scribble at 2023-10-06 09:49:15 Last modified: 2023-10-06 09:56:10

添付画像

mkcert is a simple tool for making locally-trusted development certificates. It requires no configuration.

mkcert

或る人物(Filippo Valsorda)のブログ記事からリンクを辿っていると、この mkcert を紹介する箇所を見つけた。要するにローカルの環境で SSL サーバ証明書を運用するツールであり、ローカル版の Let's Encrypt(もちろん無償で使える証明書だ)と言ってもいいが、3ヶ月ごとに更新しなくてもいいので気楽に導入できる。手順としては、Widnows の環境では Chocolately を使って mkcert をインストールしてから、# mkcert localhost(証明書を発行したい VirtualHost の ServerName を引数として指定するだけ)で証明書が発行される。 なお、PowerShell のようなターミナルで作業するときは、管理者としてターミナルを起動しないとパーミッションの問題が起きるので注意したい。また、証明書を初めて発行するときにローカルへ新しいルート証明書をインストールしてもいいかどうか確認されるので、これを承諾する(もちろん、通常はこんなことは承諾しないようにしよう。中間者攻撃にさらされる)。

あとはローカルで HTTPS での通信ができるように httpd などを設定するだけだが、オンラインで幾つか確認すると、あいかわらずデタラメを書いているブログ記事が非常に多い。たとえば、Include conf/extra/httpd-ssl.conf を読み込むなどと書いているが、こんなテンプレートの設定ファイルをいきなり読み込んだら、ダミーの秘密鍵にアクセスしようとして httpd の起動時にエラーが出る。実際に自分で作業したこともないコピペ厨房だということが、この一点だけですぐにバレる。httpd-ssl.conf で利用するとすれば、ダミーの VirtualHost 設定を全て削除した残り部分だけだ。後は、リモート・サーバで SSL の証明書を使った FQDN を有効にする場合と同じように VirtualHost を設定すればいい。それから、ローカルの Windows 環境では SSL 関連のモジュールを読み込んでいないことが多いため、mod_socache_shmcb.so と mod_ssl.so を LoadModule していることも確認しておこう。

それと、この設定がどのていど適切なのかを Qualys SSL Server Test で調べようとするのは無駄だからやめておこう。まるで「127.0.0.1 は僕の IP アドレスだぞ! 誰も使うなよ!」みたいなネタと同じことになる。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook