tkuchikiの日記

Linux やプログラミングについて書きます。

nginx で sslを設定 & オレオレ証明書の作成

ローカル環境で ssl の動作環境を構築する際のメモ。

オレオレ証明書の作成

openssl genrsa -out SERVER_NAME.key 2048
openssl req -new -key SERVER_NAME.key -out SERVER_NAME.csr
openssl rsa -in SERVER_NAME.key -out SERVER_NAME.key
openssl x509 -req -days 3650 -in SERVER_NAME.csr -signkey SERVER_NAME.key -out SERVER_NAME.crt

上から順にコマンドの説明を書くと、

  1. 秘密鍵の作成
  2. 公開鍵の作成
  3. パスフレーズなしにする
  4. 証明書作成(3650 は有効期間(日))

となる。

nginx に ssl 設定

server {
    listen 443 ssl;
    ssl on;
    ssl_certificate /path/to/SERVER_NAME.crt;
    ssl_certificate_key /path/to/SERVER_NAME.key;
}

簡単にディレクティブの説明を書くと、

listen IPアドレスとポートの指定(いずれかを省略可)
ssl ssl の on, off
ssl_certificate PEM証明書ファイルのパス
ssl_certificate_key PEMプライベートキーファイルのパス

※あとで、Apacheの設定方法も書こう。nginx に比べると面倒だし。。。