概要
いつも警告が出て面倒に思っている自分がいましたが、ついにそれが解決できるときが。ブラウザからオフにすることもできるがセキュリティレベルを下げるのはよろしくないので、今までその選択肢を使っていませんでしたが、今年の6月にmkcertというリポジトリができ、この短期間でスターが1万超え!Goで作られていますね。
mkcertで証明書を発行するとなんと警告が出なくなりました!
さっそく、インストールを手順を説明していきます。
環境
OS: 10.13.5
ブラウザ: chrome 69
インストール手順
mkcertのインストール
homebrewからインストール可能です。READMEにも書いてありますが、Firefoxを使用している人は、別途nssのインストールが必要みたいです。今回はChromeで行ったのでFirefox環境では検証していません。
brew install mkcert
brew install nss # if you use Firefox
local CAをインストール
mkcert -install
※ macOSの場合 /Users/hogeuser/Library/Application Support/mkcert
に local CAファイルが生成されます
指定ドメインの証明書を作成
今回は、以下の4つの証明書を発行します。homeディレクトリで以下のコマンドを実行すると、homeディレクトリ配下に 0.0.0.0+3-key.pem
と 0.0.0.0+3.pem
というファイルができます。 +3
は、 0.0.0.0
以外に3つのドメインで使用できるという意味だと思います。 0.0.0.0
だけで実行するとファイルは、 0.0.0.0-key.pem
になります。
mkcert 0.0.0.0 localhost 127.0.0.1 ::1
アプリケーションサーバーで読み込ませる
あとは、起動するアプリケーションサーバーに読み込ませるだけです。今回は、Rails Pumaで読み込ませる例を一応記載しておきます。
ちなみに、 0.0.0.0+3-key.pem
のままのファイル名だと記号があるせいでうまく読み込まれないので、コピーしてリネームしています。
0.0.0.0+3-key.pem
-> server.key
0.0.0.0+3.pem
-> server.crt
if "development" == ENV.fetch("RAILS_ENV") { "development" }
ssl_bind (ENV['DOCKER_HOST'] || '127.0.0.1'), '3001', {
key: "config/server.key",
cert: "config/server.crt",
verify_mode: "none"
}
end
以上で、警告が出なくなります!超簡単!