爆速でSSLのmockサーバーを用意する
2分目次
会社で開発しているサービスを gRPC から REST での通信にリプレイスしていくことになった。gRPC 用の mock サーバーは当然あるんだけど REST 用がなくてさくっと疎通/動作確認したくてなんかないかなぁと探してたら可愛いアプリがあったので軽く紹介。
インストール〜サーバー立ち上げ
$ brew install --cask mockoon
brew でさくっとインストールして、Application から起動する。
Mockoon の oo の部分を模したであろうアライグマ?たぬき?アイコンが可愛い
一番左上のボタンから新規環境を立ち上げる。Docker とか VSCode 的な感じで設定ファイルである json を作成することになる。
作成できたら後は新規環境立ち上げボタンの右にある緑三角の再生マークボタンをクリックするだけでサーバーが立ち上がる
設定 1: レスポンスヘッダ(CORS)
CORS 周りはヘッダータブのadd CORS header
ボタンをクリックするだけで設定できる。
設定 2: SSL 化
ローカル環境が SSL なので mock サーバーも SSL 化しないとつまらない通信エラーに引っかかるので SSL 化していく。
$ brew install mkcert nss && mkdir ~/Desktop/certs && cd ~/Desktop/certs && mkcert -install && mkcert localhost 127.0.0.1
上のコマンドで mkcert というライブラリを使用してデスクトップ上に自己証明書を発行できる。多分最後のコマンドは$ mkcert localhost
とかでもいける。
そしたら Mockoon の Settings タブを開いてLocalhost Only
とEnable TSL
にチェックを入れる。
あとは Cert Path の欄に/Users/ユーザ名/Desktop/certs/127.0.0.1.pem
を、Key Path の欄に/Users/ユーザ名/Desktop/certs/127.0.0.1-key.pem
を入力すればお k。
虫メガネアイコンから GUI 上で選択もできます。
設定を変更するとサーバー起動ボタンが黄色のリフレッシュアイコンになってると思うのでクリックすれば SSL の mock サーバーが完成。