nginx+SSLの設定(httpsでのアクセス)

自己証明書(いわゆるオレオレ証明書)の作成と、nginxへの組み込み方です。

自己証明書(いわゆるオレオレ証明書)の作成

まずは、ディレクトリを移動。(ここである必要はありません。)

# cd /etc/pki/tls/private

秘密鍵の作成。

# openssl genrsa -des3 2048 -rand /var/log/ > www.hoge.jp.key
Generating RSA private key, 2048 bit long modulus
................................................................................+++
..........................................+++
e is 65537 (0x10001)
Enter pass phrase:                ←秘密鍵のパスフレーズを入力
Verifying - Enter pass phrase:    ←もう一度入力

nginxで使用できるように、暗号化を解除しておきます。(オリジナルはコピーしておく)

# cp -p www.hoge.jp.key www.hoge.jp.key.org
# openssl rsa -in www.hoge.jp.key -out www.hoge.jp.key
Enter pass phrase for private/localhost.key:    ←秘密鍵のパスフレーズを入力
writing RSA key

CRTの作成。(SHA2対応の為に"-sha256"オプションを付与)

# openssl req -new -x509 -key www.hoge.jp.key -out www.hoge.jp.crt -days 3650 -sha256
Country Name (2 letter code) [XX]:JP                                  ←JPでEnter
State or Province Name (full name) []:                                ←そのままEnter
Locality Name (eg, city) [Default City]:                              ←そのままEnter
Organization Name (eg, company) [Default Company Ltd]:                ←そのままEnter
Organizational Unit Name (eg, section) []:                            ←そのままEnter
Common Name (eg, your name or your server's hostname) []:www.hoge.jp  ←入力必須
Email Address []:                                                     ←そのままEnter


nginxの設定追加

nginxの設定にSSLポート(デフォルト443)での待ち受けと、証明書のパスを追加します。

# vim /etc/nginx/conf.d/default.conf
server {
    listen       80;
    listen       443 ssl;    ←追加
    server_name  localhost;

    ssl_certificate      /etc/pki/tls/private/www.hoge.jp.crt;  ←追加
    ssl_certificate_key  /etc/pki/tls/private/www.hoge.jp.key;  ←追加

設定を修正したら、設定をチェックしてnginxを再起動。

# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# service nginx restart

これで、ブラウザから「https」でアクセスできるようになったはずです。(自己証明書なので警告は出ますが)
アクセスできない場合は、ファイアーウォールの設定で443ポートが空いているか確認ください。