garfieldcatcat 2019-06-20
基于 Elixir Plug: 使用Plug开发Web应用程序, 阐述了如何在配置Plug的SSL支持.
第一步: 生成秘钥和证书
openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout ./key.pem -out ./cert.pem
第二步: 生成DH参数
openssl dhparam -out ./dhparam.pem 1024
这里为了省时使用1024
, 正式环境建议4096
, 大概半个小时的生成时间.
配置 Worker
defmodule PlugSample.HttpsWorker do def start_link do Plug.Adapters.Cowboy.https PlugSample.HttpsPlug, [], port: 443, otp_app: :plug_sample, keyfile: Path.expand(".") <> "/config/ssl/key.pem", certfile: Path.expand(".") <> "/config/ssl/cert.pem", dhfile: Path.expand(".") <> "/config/ssl/dhparam.pem" end end
启动
sudo iex -S mix
测试
git clone https://github.com/developerworks/plug_sample.git cd plug_sample sudo iex -S mix