LoginSignup
4
7

More than 5 years have passed since last update.

Nginxにsslを導入する。

Posted at

以下はNginxにsslを導入するにあたり実施したことです。

環境

CentOS 6.8
nginx 1.10.2
RapidSSL

Nginxにsslを導入する流れ

  1. 秘密鍵の作成
  2. CSR(証明書署名要求)の作成・提出
  3. サーバ証明書と中間CA証明書の結合
  4. 秘密鍵・結合証明書のインストール
  5. SSLの評価計測

1.秘密鍵の作成

サーバにて下記のコマンドを実行し、秘密鍵を作成

openssl genrsa -out [秘密鍵ファイル名] 2048

2.CSR(証明書署名要求)の作成・提出

サーバにて下記のコマンドを実行し、CSRを作成

openssl req -new -key [秘密鍵ファイル名] -out [CSRファイル名]

いろいろ聞いてくるので、入力

Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Osaka
Locality Name (eg, city) [Default City]:Naniwa-ku Osaka-shi
Organization Name (eg, company) [Default Company Ltd]:会社名
Organizational Unit Name (eg, section) []:会社部門名、サービス名等
Common Name (eg, your name or your server's hostname) []:サーバホスト名
Email Address []:未入力
A challenge password []:未入力
An optional company name []:未入力

SSLサーバー証明書販売代理店にCSR提出

3.サーバ証明書と中間CA証明書の結合

認証後、サーバ証明書と中間CA証明書を入手し、結合する

※中間CA証明書は基本的に認証局ホームページからダウンロードできる

cat [サーバ証明書] [中間CA証明書] > [結合ファイル]

※結合後、中身を確認して下記部分が改行されていること確認する

-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----

4.秘密鍵・結合証明書のインストール

結合ファイルと秘密鍵の権限・所有者の変更

sudo chown root:root [結合ファイル]
sudo chmod 400 [結合ファイル]
sudo chown root:root [秘密鍵]
sudo chmod 400 [秘密鍵]

Nginxの設定ファイルの修正

server {
    listen 443 ssl;
    ssl_certificate [結合ファイルのフルパス];
    ssl_certificate_key [秘密鍵のフルパス];
    ...
}

Nginxのリスタート

sudo /etc/init.d/nginx restart

一応iptablesを確認して443が有効になってるかも確認。

この時点でブラウザ等からhttpsにて接続可能か確認してください。

5.SSLの評価計測

下記サイトで、SSLセキュリティの評価計測を行えます。
https://www.ssllabs.com/ssltest/

参考

ジーライブ

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7