2.3. NGINX Web サーバーへの TLS 暗号化の追加
example.com
ドメインの NGINX Web サーバーで TLS 暗号化を有効にすることができます。
前提条件
- NGINX がインストールされている。
秘密鍵が
/etc/pki/tls/private/example.com.key
ファイルに保存されている。秘密鍵および証明書署名要求 (CSR) を作成する方法と、認証局 (CA) からの証明書を要求する方法は、CA のドキュメントを参照してください。
-
TLS 証明書は
/etc/pki/tls/certs/example.com.crt
ファイルに保存されます。別のパスを使用する場合は、この手順で対応する手順を調整します。 - CA 証明書がサーバーの TLS 証明書ファイルに追加されている。
- クライアントおよび Web サーバーは、サーバーのホスト名を Web サーバーの IP アドレスに対して解決します。
-
ポート
443
が、ローカルのファイアウォールで開放されている。
手順
/etc/nginx/nginx.conf
ファイルを編集し、設定のhttp
ブロックに以下のserver
ブロックを追加します。server { listen 443 ssl; server_name example.com; root /usr/share/nginx/html; ssl_certificate /etc/pki/tls/certs/example.com.crt; ssl_certificate_key /etc/pki/tls/private/example.com.key; }
セキュリティー上の理由から、
root
ユーザーのみが秘密鍵ファイルにアクセスできるように設定します。# chown root:root /etc/pki/tls/private/example.com.key # chmod 600 /etc/pki/tls/private/example.com.key
警告秘密鍵に権限のないユーザーがアクセスした場合は、証明書を取り消し、新しい秘密鍵を作成し、新しい証明書を要求します。そうでない場合は、TLS 接続が安全ではなくなります。
nginx
サービスを再起動します。# systemctl restart nginx
検証
-
ブラウザーを使用して、
https://example.com
に接続します。