ただオレオレ証明書を作っただけだと

ssl-error-1

こんなふうに怒られちゃいますよね。最初はいいけど何回も繰り返すとイライラ。。 かと言ってMacのローカルとかだとLetsencrypt使えないし。。

ということで、Macで開発してるときにさくっと作れるコマンド書きました。 毎回入力もめんどうだったので ※本番などでは使わないように、あくまでも開発検証用としてご利用ください

https://gist.github.com/shinofara/3a5295bd55b2fde4c092f0d16e492473 gistに張ってますが、使い方としては

$ sh generate.sh
Password: 
$ ls -la
|-rw-r--r--   1 shinofara      staff    1269 2016-10-09 18:52 localhost.crt
|-rw-r--r--   1 shinofara      staff    1094 2016-10-09 18:52 localhost.csr
|-rw-r--r--   1 shinofara      staff    1679 2016-10-09 18:52 localhost.key
|-rw-r--r--   1 shinofara      staff    2948 2016-10-09 18:52 localhost.pem

$ sh generate.sh -h example.com
Password: 
$ ls -la
|-rw-r--r--   1 shinofara      staff    1281 2016-10-09 18:55 example.com.crt 
|-rw-r--r--   1 shinofara      staff    1102 2016-10-09 18:55 example.com.csr 
|-rw-r--r--   1 shinofara      staff    1675 2016-10-09 18:55 example.com.key 
|-rw-r--r--   1 shinofara      staff    2956 2016-10-09 18:55 example.com.pem 

こんな感じです。あとは必要に応じて移動させてお使いください(..)_

Nginx

listen       443 ssl http2;

   ssl_certificate /etc/nginx/ssl/localhost.crt;
   ssl_certificate_key /etc/nginx/ssl/localhost.key;

   ssl_session_cache   shared:SSL:3m;
   ssl_buffer_size     8k;
   ssl_session_timeout 10m;

   ssl_ciphers AESGCM:HIGH:!aNULL:!MD5;
   ssl_prefer_server_ciphers on;

HAProxy

  bind *:443 name https ssl crt /etc/haproxy/ssl/localhost.pem