SSL初心者設定!黒い画面は怖くない、NginxでSSLを設定するお話

こんにちは。
お久しぶりです山王です。
今日はnginxでSSL通信を行うための設定を紹介します。
Contents
導入環境
- OS…Linux CentOS 7
- webサーバー…nginx
今回はさくらインターネットでSureServer企業認証SSLを申し込み
上記のケース以外もやることはほとんど変わらないと思います。
SSL化の手順
1.申請する
さくらインターネットにログイン
今回は赤で囲った企業認証SSLで行っていきます。しかしラピッドSSL安いですね~
内容は割愛しますが、順に沿って会社情報などを入力していってください。
CSR(証明書情報)の内容確認
ここでいったんストップ。これ以降は黒い画面を少し触ったりします。でも大丈夫です。まずはCSRを作成しましょう
2.CSR・秘密鍵を作成
ターミナルやteratermなどでサーバーにログイン
秘密鍵ファイル・証明書ファイルを設置するディレクトリを作成しそこに移動
mkdir /etc/nginx/ssl_certs cd /etc/nginx/ssl_certs
秘密鍵作成
openssl genrsa -des3 -out (秘密鍵ファイル名) (キー長)
秘密鍵生成時には、必ず2048bitを指定してください。
以下例になります。
openssl genrsa -out example.com.2016.key 2048
CSRの作成
openssl req -new -sha256 -key example.com.2016.key -out example.com.2016.csr
以下弊社例(項目がない箇所は空欄でエンター)
Country Name :JP
State or Province Name:osaka
Locality Name:osaka
Organization Name:UNIONNET Inc.
Organizational Unit Name:
Common Name:unionnet.jp
Email Address:
A challenge password:
An optional company name
作業ディレクトリの中を確認
lsと打つとカレントディレクトリの内容が見れます
example.com.2016.csrができていると思います。
3.証明書申し込み
vi example.com.2016.csr
中身を全部コピーし
さくらインターネットの申し込みページの
CSR(証明書情報)の内容確認ページでペースト
表示された内容で問題なければそのまま申し込み
さくらインターネットよりメールが来るので
証明書ダウンロード用のパスワードを保存しておく
今回は企業認証なので数日後に会社が存在するか認証局から電話が来ます。
確認が取れると証明書が発行されメールが届きます。
証明書をダウンロード
メールに記載されたURLからそれぞれの証明書をダウンロードします
中間証明書のダウンロードですが、ダウンロード先に行くと3つダウンロード先があるのでSureServer for SAKURA [Apache/IIS共通]
をダウンロード今回はPUBCAG3.txtで作成します。
サーバー証明書をダウンロードすると***.cerというファイルがダウンロードされるのでリネームもしくはそのまま使用
今回はexample.cerでいきます
4.証明書のインストール
PUBCAG3.txt、example.cerを/etc/nginx/ssl_certs/にアップロード
ssl_certsに移動
cd /etc/nginx/ssl_certs/
中間証明書とサーバー証明書を連結
cat example.cer PUBCAG3.txt > example.com.2016.pem
カレントディレクトリの中を確認するとexample.com.2016.pemができていると思います。
vi example.com.2016.pem
—–BEGIN CERTIFICATE—–
となるように改行を入れます。※僕はこれを忘れていて中間証明書が無きものにされてました・・
5.confファイルを編集
vi /etc/nginx/***.conf/
server { listen 443; ssl on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_certificate /etc/nginx/ssl_certs/example.com.2016.pem; ssl_certificate_key /etc/nginx/ssl_certs/example.com.2016.key; }
nginx -t
エラーが無ければ
systemctl restart nginx
SSL通信確認
openssl s_client -connect www.example.com:443 -showcerts
Verify return code: 0 (ok)
になればおk
WEB上でも確認可能です。
https://sstool.cybertrust.ne.jp/support_tool/index01.php
設定確認して問題なければ完了です。
最後に
いかがでしたか?
レンタルサーバーなどに比べると多少めんどくさいですよね
エックスサーバーのドメイン認証SSLなんてほんの数分で終わりますからねw
今回やったの作業は黒い画面多少触りますが難易度はさほど高くないですね。
今後SSL証明書の更新をするために忘れないようにしたいと思います。
- WEB制作
- サーバ

この記事が気に入ったらいいね!しよう。

この記事を書いた人
やまおう / エンジニア
UNIONNETの制作実績
- local_offerコーポレートサイト
- local_offerコーポレートサイト
- local_offer学校・教育
- local_offer暮らし・生活
- local_offer暮らし・生活
- local_offer製造業