79
81

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 3 years have passed since last update.

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

Last updated at Posted at 2018-10-13

概要

いつも警告が出て面倒に思っている自分がいましたが、ついにそれが解決できるときが。ブラウザからオフにすることもできるがセキュリティレベルを下げるのはよろしくないので、今までその選択肢を使っていませんでしたが、今年の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

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

79
81
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
79
81

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?