Help us understand the problem. What is going on with this article?

ローカル環境でSSLをオレオレ証明書で行っていて警告が出てる人に朗報

概要

いつも警告が出て面倒に思っている自分がいましたが、ついにそれが解決できるときが。ブラウザからオフにすることもできるがセキュリティレベルを下げるのはよろしくないので、今までその選択肢を使っていませんでしたが、今年の6月にmkcertというリポジトリができ、この短期間でスターが1万超え!Goで作られていますね。

スクリーンショット 2018-10-13 19.41.16.png

mkcertで証明書を発行するとなんと警告が出なくなりました!

スクリーンショット 2018-10-13 19.39.35.png

さっそく、インストールを手順を説明していきます。

環境

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.pem0.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

以上で、警告が出なくなります!超簡単!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away