0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

wslでssl(https)のWEBサーバーを起動する(Nuxt3のnpm run devもhttps化)

Posted at

WSL上でNuxt3を利用して開発中にSSLでサイトを開く必要が出てきたので、いろいろやったよ。

Nuxt3でHttps化する

package.jsonの編集

これは超簡単

//package.json
"dev": "nuxt dev",
"devssl": "nuxt dev --https",

見たいに、devsslを追加した。
--httpsを追加したら、良いだけ。

開発サーバーを起動

これでnpm run devする
2023-05-16_00h18_38.png

こんな感じでhttps://localhost:3000/ で起動する。

ブラウザで確認

でもブラウザで接続すると、張り切ってエラーになる。
2023-05-16_00h20_36.png

なので、mkcertでオレオレ証明書を作らないといけない。

Mkcertのインストール

Ubuntu22

Ubuntu22の人は以下のコマンド

apt -y install mkcert

Ubuntu20.4

僕の環境ではUbuntu20.4なのでめんどくさいけど、
一応おまじない程度にaptをアップデート

apt update -y

何かをインストール

apt install wget libnss3-tools

ホームディレクトリに移動して
wgetでダウンロード

cd 
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64

システムパスに移動

mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert

権限をmkcertに設定にする

chmod +x /usr/bin/mkcert

これでUbuntu22のapt installの結果と同じ所まで来た 長い:sweat:

mecertがインストールされている事を確認

mkcert --version

2023-05-16_00h32_07.png
成功!!

ローカルCAの生成

(ローカルCAってなに?)

mkcert -install

2023-05-16_00h34_07.png
OKぽい!

##CA証明書のパスを確認

mkcert -CAROOT

2023-05-16_00h35_06.png
~/.local/share/mkcertにあるのね。OK

webサイト証明書の作成

今回は、~/sshの下に作る

## ディレクトリを作って移動

mkdir ssl
cd ssl

証明書を作る

mcert localhost

2023-05-16_00h38_31.png

WSLの時だけ、Windows側の証明書を作成して登録

Macの人は要らん。

~/.local/share/mkcertに移動

cd ~/.local/share/mkcert

変換する

openssl pkcs12 -export -inkey rootCA-key.pem -in rootCA.pem -out rootCA.pfx

結果のスクショを取り忘れたごめん。
とりあえず、パスワードをきかれるのでいい感じに。
(このパスワードは後から使うから覚えておく)

Windowsのエクスプローラーで~/.local/share/mkcertを開く

僕の環境ではこんな感じ
\\wsl$\Ubuntu-20.04\home\<userName>\.local\share\mkcert
2023-05-16_00h47_58.png

rootCA.pfxを右クリックして、Pfxインストールウィザードを開く

2023-05-16_00h49_33.png
PFXのインストールをクリック

image.png

「現在のユーザー」を選んで次へ
image.png

そのままで次へ

image.png

パスワードを入力して次へ
image.png

「証明書をすべて次のストアに配置する」にチェック
「参照」から「信頼されたルート証明機関」を選択
次へ
image.png
完了するとインストールが実行する。

package.jsonにSSH証明書の情報を追加して実行

//package.json
"dev": "nuxt dev",
"devssl": "nuxt dev --https --ssl-cert ~/ssl/localhost.pem --ssl-key ~/ssl/localhost-key.pem",

## Nuxtを実行
2023-05-16_00h57_02.png
起動した。
2023-05-16_00h58_46.png

ブラウザ側もエラー無く!

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?