メインコンテンツまでスキップ

NginxサーバーへのSSL証明書のインストール

NginxサーバーにSSL証明書をインストールすることで、Nginxサーバーが HTTPS による安全なアクセスに対応するようになります。この記事では、NginxサーバーにSSL証明書をインストールする方法について説明します。

説明

このドキュメントでは、Nginxのバージョンを nginx/1.18.0 として例を説明しています。 インストール前に443番ポートが使用されていないことを確認してください。443番ポートがすでに使用されている場合は、証明書のインストール時に別のポートをバインドしてください。

証明書の取得

  1. 私たちがお客様の証明書を発行した後、証明書ファイル(.zip)の圧縮形式で交付します。圧縮パッケージには4つのフォルダがあり、それぞれTomcat、Nginx、IIS、Apacheの4種類の証明書形式に対応しています。NginxサーバーではNginxフォルダ内の証明書を使用します。
  2. Nginxフォルダには以下の2つのファイルが含まれます。
  • domain_com_integrated.crt 証明書ファイル
  • domain_com.key 秘密鍵ファイル

SSL証明書のインストール

  1. 取得済みの domain_com_integrated.crt 証明書ファイルと domain_com.key 秘密鍵ファイルをローカルディレクトリからNginxサーバーの /etc/nginx/ssl ディレクトリにコピーします。
  • /etc/nginx/ssl ディレクトリが存在しない場合は、mkdir -p /etc/nginx/ssl コマンドで作成できます。
  • インストール方法によってディレクトリの場所が異なる場合がありますので、実際の環境に合わせてください。
  1. Nginx のルートディレクトリにある nginx.conf ファイルを編集します。変更内容は以下の通りです:
nginx.conf
server {
listen 443 ssl;
#填写自己的域名,多个域名用空格隔开
server_name racent.com;

#填写证书文件的相对路径或绝对路径
ssl_certificate cloud.tencent.com_bundle.crt;

#填写私钥文件的相对路径或绝对路径
ssl_certificate_key cloud.tencent.com.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}

注意

バージョンの違いにより、設定ファイルの記述方法が異なる場合があります。例:Nginxのバージョンがnginx/1.15.0以下の場合は、listen 443 sslの代わりにlisten 443ssl onを使用してください。

修正後に設定ファイルを保存し、以下のコマンドを実行してください:

nginx -t         #验证配置文件是否正确
nginx -s reload #重载 Nginx

SSL証明書のテスト

ブラウザのアドレスバーにSSL証明書をバインドしたドメインを入力し、SSL証明書が正常にインストールされたかどうかをテストしてください。正常にインストールされている場合、ブラウザのアドレスバーに南京錠のセキュリティアイコンが表示され、クリックすると証明書情報を確認できます。

SSL証明書の表示例

HTTPからHTTPSへの自動リダイレクトのセキュリティ設定(任意)

HTTPリクエストを自動的にHTTPSにリダイレクトする必要がある場合は、以下の手順で設定できます:

  1. Nginxのリダイレクト機能を使用し、HTTPのserverreturn 301 https://$host$request_uri;を追加すると、HTTPリクエストをHTTPSにリダイレクトできます。以下の内容を修正してください:
server {
listen 80;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}

  1. Nginxサーバーを再起動すると、ドメインでアクセスできるようになり、HTTP から HTTPS への自動リダイレクトが実現します。