基于 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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。