GNU/Linux >> Linux の 問題 >  >> Cent OS

SSLを使用してNginxを構成する方法

このチュートリアルでは、LinuxサーバーでSSLを使用してNginxを構成する方法を示します。知らない人のために、トランスポート層セキュリティ(TLS)とセキュアソケット層( SSL)は、エンドユーザーとWebサーバー間の接続を暗号化する簡単な方法を提供します。SSLは、証明書機関システムを使用してID検証を提供し、Webサイトが別の組織またはWebサイトであると誤って主張するのを防ぎます。このチュートリアルでは、セットアップ方法を示します。 NginxWebサーバーでの強力なSSLセキュリティ。

この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudoを追加する必要があります。 ルート権限を取得するコマンドに‘。 LinuxでSSLを使用してNginxを構成する手順を説明します。

SSLを使用してNginxを構成する

必須:

  • ウェブサーバーNginxをインストールしたと仮定します。
  • 私はNamecheapをレジストラとして使用しており、Comodoを含む他の多くの企業からSSL証明書を再販しています。

ステップ1。 ディレクトリを作成する

mkdir -p /etc/nginx/ssl/idroot.us

ステップ2。 SSLキーとCSRの生成

証明書を購入する前に、秘密鍵とCSRファイル(証明書署名要求)を生成する必要があります。証明書を注文するときのCSRファイル。[共通名]には、目的のドメイン名を「www」なしで入力します。つまり、idroot.usです。ワイルドカードSSLの場合は、*。idroot.usを使用します。

openssl req -nodes -newkey rsa:2048 -keyout idroot.us.key -out idroot.us.csr

ステップ3。 証明書バンドルを作成する

証明書を購入すると、最終的にSSL証明書が記載されたメールが届きます。この証明書には次のzipファイルが含まれています。

  • AddTrustExternalCARoot.crt
  • COMODORSAAddTrustCA.crt
  • COMODORSADomainValidationSecureServerCA.crt
  • idroot_net.crt
cat idroot_net.crt AddTrustExternalCARoot.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt >> ssl-bundle.crt

証明書バンドルを作成したら、それをNginxSSLディレクトリに移動できます。

mv ssl-bundle.crt /etc/nginx/ssl/idroot.us/

ステップ4。 Nginxの証明書を構成する

Nginx仮想ホスト構成に移動します。NginxでSSLを使用するには、次の例に示すように、listenディレクティブと3つのSSL関連ディレクティブを変更する必要があります。

>
nano /etc/nginx/conf.d/ssl.conf
server {
   listen 443 ssl spdy;
   server_name www.idroot.us idroot.us;
   root /var/www/idroot.us/public_html;
   index index.php index.html index.htm;
   server_tokens off;

   #SSL CONF
   ssl on;
   ssl_certificate /etc/nginx/ssl/idroot.us/ssl-bundle.crt;
   ssl_certificate_key /etc/nginx/ssl/idroot.us/idroid.us.key;


   #SSL
   ssl_session_cache shared:SSL:20m;
   ssl_session_timeout 10m;

   ssl_prefer_server_ciphers On;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;

   ssl_stapling on;
   ssl_stapling_verify on;
   resolver 8.8.8.8 8.8.4.4 valid=300s;
   resolver_timeout 10s;

   # permalink
   location / {
      try_files $uri $uri/ /index.php?$args;
   }

   # php-script handler
   location ~ \.php$ {
      fastcgi_index index.php;
      fastcgi_pass 127.0.0.1:9000;
      root    /var/www/idroot.us/public_html;
      fastcgi_param SCRIPT_FILENAME /var/www/idroot.us/public_html$fastcgi_script_name;
      include /etc/nginx/fastcgi_params;
   }

location  ~ /\.ht {
               deny  all;
           }
    }

ステップ5。 HTTP仮想ホストをHTTPSにリダイレクトする

return 301  https://idroot.us$request_uri;

ステップ6。 Nginxを再起動/リロードします。

/etc/init.d/nginx restart

おめでとうございます!Nginx withSSLが正常にインストールされました。LinuxシステムにNginxwithSSLをインストールして構成するためにこのチュートリアルを使用していただき、ありがとうございます。追加のヘルプや役立つ情報については、公式を確認することをお勧めしますNginxのWebサイト。


Cent OS
  1. PHP-FPMを介してPHPで動作するようにNginxを構成する方法

  2. NginxでKibana4を構成する| Kibana 4の保護– CentOS 7

  3. NginxでオリジンCloudflareSSLを設定する方法

  1. NGINXにSSL証明書をインストールする方法

  2. CentOS7にNginxをインストールして構成する方法

  3. SSLを使用してIMAPを設定する方法

  1. CentOS7にNginxを使用してphpMyAdminをインストールする方法

  2. CentOS7でNginxを使用してAskbotをインストールおよび構成する方法

  3. CentOS7にNginxを使用してSuiteCRMをインストールする方法