WSL2でのローカルSSL

技術関連

本番環境とは別のところでいろいろと試すために、ローカル環境を用意。
いつもはhttp://localhostでやっていましたが、毎回ローカルを起動させるのも大変なため、きちんと?設定してみました

以下のカタチでやることのメリットは、3ヶ月ごとのアップデートではなく、1.5年いけますしローカル環境であれば十分かな?

$ aptitude install mkcert
$ mkcert --version // ⇒ バージョン表示されればOK
$ mkcert -install  // ⇒ ローカルCAの生成
$ mkcert -CAROOT   // ⇒ パスの確認。おそらく以下のようになる
/home/(name)/.local/share/mkcert

で、ここから変換が必要のようですので、以下のようにします

$ openssl pkcs12 -export -inkey rootCA-key.pem  -in rootCA.pem -out rootCA.pfx
Enter Export Password:
Verifying - Enter Export Password:
$ ls
rootCA-key.pem  rootCA.pem  rootCA.pfx

ここで生成するrootCA.pfxをwindows上で、右クリックして、インストールします。
生成した時のパスワードを入力
「証明書をすべてのストアに配置する」
証明書ストアを「信頼されたルート証明機関」とすることをお忘れなく。

続いて個別のサイトの設定。

$ mkdir ~/ssl
$ cd ~/ssl
$ mkcert example.com.local  //ここは正しいドメインを。私はローカル開発は.localにするようにしています

Created a new certificate valid for the following names 📜
- "example.com.local"

The certificate is at "./example.com.local.pem" and the key at "./example.com.local-key.pem" ✅

It will expire on 9 October 2025 🗓

$ ls
example.com.local-key.pem example.com.local.pem

pemファイルを移動

$ ln -s ~/ssl/example.com.local-key.pem /etc/ssl/certs/
$ ln -s ~/ssl/example.com.local.pem /etc/ssl/certs/

あとは、sites-availableの中にあるファイルを修正します。
例えばこんな感じ。

<VirtualHost *:443>
ServerAdmin webmaster@localhost
serverName  stemclub.jp.local
DocumentRoot /var/www/html/stemclub.jp
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

SSLEngine on
SSLCertificateFile /etc/ssl/certs/example.com.local.pem
SSLCertificateKeyFile /etc/ssl/certs/example.com.local-key.pem

<Directory /var/www/html/example.com>
Options Indexes FollowSymLinks MultiViews ExecCGI
SSLOptions +StdEnvVars
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

      

コメント

タイトルとURLをコピーしました