読者です 読者をやめる 読者になる 読者になる

文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

シェルスクリプトでオレオレ証明書を自動生成する

シェルスクリプト ansible

ansibleの勉強記事を続けている訳ですが、nginxをインストールする時、初期インストール状態でSSLが動いて欲しいので、今回オレオレ証明書を自動生成するシェルスクリプトを用意してみました。

ansibleでapacheやnginxをインストールついでに証明書を作ってしまい、それを読み込ませるconfを配置すれば、初期表示時にSSLが表示できるようになります!!

オレオレ証明書の自動生成スクリプト

#!/bin/sh

#------------------------------------------------------------
# 秘密鍵を生成
#------------------------------------------------------------
openssl genrsa 2048 > server.key

#------------------------------------------------------------
# 証明書署名要求を生成
# Country Name (2 letter code) [AU]:
# State or Province Name (full name) [Some-State]:
# Locality Name (eg, city) []:
# Organization Name (eg, company) [Internet Widgits Pty Ltd]:
# Organizational Unit Name (eg, section) []:
# Common Name (e.g. server FQDN or YOUR name) []:
# Email Address []:
# 
# Please enter the following 'extra' attributes
# to be sent with your certificate request
# A challenge password []:
# An optional company name []:
#------------------------------------------------------------
openssl req -new -key server.key <<EOF > server.csr
JP
Tokyo
Neet Town
Neet Company
Neet Section
192.168.33.21



EOF

#------------------------------------------------------------
# サーバ証明書を生成
#------------------------------------------------------------
openssl x509 -days 3650 -req -signkey server.key < server.csr > server.crt

なんてことはない、ヒアドキュメントで無理やり入力しています。
とりあえず有効期限を3650日、10年を設定しています。

nginx/conf.d/virtual.conf

後は自動生成されたファイルを読み込むだけです。

    listen {{listen_https_port}};
    ssl on;
    ssl_certificate /etc/nginx/server.crt;
    ssl_certificate_key /etc/nginx/server.key;

証明書を確認してみる

以下のようにニート証明書ができました!
f:id:treeapps:20140624232554p:plain


誰がニートだコルァァァァァァァァ!!!!


お前のことだよ

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

開発効率をUPする Git逆引き入門

開発効率をUPする Git逆引き入門

  • 作者: 松下雅和,船ヶ山慶,平木聡,土橋林太郎,三上丈晴
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2014/04/09
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (5件) を見る
入門Chef Solo - Infrastructure as Code

入門Chef Solo - Infrastructure as Code