Elixir/Phoenix で SSL をローカルホストから利用する手順



調べたのでメモしておきます。

1.証明書の作成

# generate key
$ openssl genrsa -out localhost.key 2048
# generate cert
$ openssl req -new -x509 -key localhost.key -out localhost.cert -days 3650 -subj /CN=localhost

2.必要なファイルをプロジェクトにコピー

1で生成したファイルを、Phoenix プロジェクト配下の

priv/keys/

に配置します。

3.設定ファイルの変更

config/dev.exs

config :phoenix_project_name, PhoenixProjectName.Endpoint,
  http: [port: 4000],
  https: [port: 4443,
          otp_app: :phoenix_project_name,
          keyfile: "priv/key/localhost.key",
          certfile: "priv/key/localhost.cert"],
  debug_errors: true,
  code_reloader: true,
  check_origin: false,
  watchers: [node: ["node_modules/brunch/bin/brunch", "watch", "--stdin"]]

https の項目を追記します。

4.確認

#start server
$ mix phoenix.server
[info] Running PhoenixProjectName.Endpoint with Cowboy using http on port 4000
[info] Running PhoenixProjectName.Endpoint with Cowboy using https on port 4433

https が増えていれば成功です。

参考:SSL · Phoenix

Programming Phoenix: Productive |> Reliable |> Fast

Programming Phoenix: Productive |> Reliable |> Fast