このチュートリアルでは、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サイト。