クラウドセキュリティネットワーク

NGINXでのSSL(HTTPS)設定について

昨今、WebページのSSL化は必須と言っても過言ではありません。
NGINXでは簡単にSSLの設定ができるのでご紹介します。

SSLを使用してWebページを暗号化

Webアプリケーションの通信を盗聴されないようにするためにWebサイトをSSL化(HTTPS化)することは非常に重要です。

今回のブログでは、WebページをHTTPSで接続できるようにするためのNGINXの設定を紹介します。

秘密鍵、CSR(証明書署名要求)、CRT(SSLサーバー証明書)の準備

SSL通信をするために、今回はOpenSSLを利用して秘密鍵、CSR、CRTを作成します。

$ sudo mkdir /etc/nginx/ssl
$ sudo openssl genrsa -out /etc/nginx/ssl/server.key 2048
$ sudo openssl req -new -key /etc/nginx/ssl/server.key -out /etc/nginx/ssl/server.csr
$ sudo openssl x509 -days 3650 -req -signkey /etc/nginx/ssl/server.key -in /etc/nginx/ssl/server.csr -out /etc/nginx/ssl/server.crt

これで3つのファイルの作成が完了です。

$ ls /etc/nginx/ssl/
server.crt  server.csr  server.key

>>NGINXライブラリはこちら

>>NGINXについて詳しくはこちら

NGINXの設定

ここまで準備してしまえばNGINXの設定としては非常に少なく簡単にWebページをSSL化ができます。

server{
    listen 443 ssl;
    ssl_certificate     /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;
}

NGINXに設定を反映させるためにサービスを再起動します。

$ sudo systemctl restart nginx

ここまで設定することでWebページをHTTPSで見ることができるようになります。

今回は以上になります。

 

実際の動作や暗号化された状態のCurlの出力結果やHTTP・HTTPSの比較などは毎月第3木曜(変わる場合もあります)に実施しているNGINXハンズオントレーニングで説明していますので気になった方は是非参加してみてください!

毎月、こちらのブログ記事や当社のセミナー・イベントページにて参加者を募集しております!

>>NGINXライブラリはこちら

>>NGINXについて詳しくはこちら

この記事に関連する製品・サービス

この記事に関連する記事

Elastic IPを使用したAWSでのNGINX Plusのアクティブ・パッシブのHA構成設定について

分かりやすく解説!DockerコンテナにNGINX Plusをデプロイする方法

IT管理者の皆様、NGINXのインスタンス数と脆弱性を可視化をしませんか?