このスクリプト、ちょいちょい必要になります。
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;
証明書を確認してみる
以下のようにニート証明書ができました!
誰がニートだコルァァァァァァァァ!!!!
お前のことだよ