このチュートリアルでは、CentOS6サーバーにNginxを使用してLetsEncryptSSLをインストールおよび構成する方法を示します。知らない人のために、LetsEncryptは無料のオープン証明書です。 Webサイトやその他のサービスに無料の証明書を提供する認証局(CA)。このサービスは、Electronic Frontier Foundation、Mozilla、Cisco Systems、およびAkamaiによってサポートされています。残念ながら、LetsEncrypt.orgの証明書の有効期間は現在3か月です。つまり、今のところ、四半期ごとに証明書を更新する必要があります。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、独自のVPSでサイトをホストしていることを前提としています。インストールは非常に簡単です。 CentOS6でのLetsEncryptSSLのステップバイステップのインストールを紹介します。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOS6。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。
CentOS6にNginxを使用してLetsEncryptSSLをインストールする
ステップ1.まず、システムでEPELリポジトリを有効にし、システムが最新であることを確認することから始める必要があります。
yum install epel-release yum -y update yum -y install git python-tools python-pip
手順2.LEMPサーバーをインストールします。
CentOS 6 LEMPサーバーが必要です。LEMPがインストールされていない場合は、こちらのガイドに従ってください。
ステップ3.LetsEncryptSSLをインストールします。
LetsEncrypt gitプロジェクトをサーバーに複製します:
git clone https://github.com/letsencrypt/letsencrypt
次に、プロジェクトフォルダに変更します:
cd letsencrypt
以下のコマンドを実行して、WebサイトまたはブログのSSL証明書を生成します。
./letsencrypt-auto certonly -a standalone -d yourdomain.com -d www.yourdomain.com
すべてが正しく行われたとすると、次のように表示されます:
LetsEncryptはそのキーをこのディレクトリに配置します/etc/letsencrypt
ステップ3.SSLキーとCSRを生成します。
まず、SSL証明書をホストするSSLディレクトリを作成します。
mkdir /etc/nginx/ssl cd /etc/nginx/ssl
次に、以下の手順に従って、サーバーキー、証明書署名要求、および自己署名証明書を生成します。信頼できる認証局から信頼できる証明書をインストールする場合、次に、CSRのコピーを認証局に送信して、信頼できる証明書を生成する必要があります。
サーバーの秘密鍵を作成し、以下のコマンドを実行します:
openssl genrsa -des3 -out server.key 2048
次に、以下のコマンドを実行して、サーバーの秘密鍵を使用して証明書署名要求鍵を生成し、SSL証明書を作成します。
openssl req -new -key server.key -out server.csr
上記のコマンドを実行すると、いくつかの質問に答えるよう求められます。以下の簡単なガイドに従ってください。
- 一般名:保護している完全修飾ドメイン名またはURL。
ワイルドカード証明書をリクエストする場合は、左側にアスタリスク(*)を追加します。ワイルドカードを使用する一般名。たとえば、*。idroot.us 。 - 組織:ビジネスの法的に登録された名前。個人として登録する場合は、証明書の要求者の名前を入力してください。
- 組織単位:該当する場合は、DBA(としてビジネスを行う)の名前を入力します。単一のブログを保護する場合は、ここにブログの所有者の名前を入力します。
- 都市または地域:組織が登録/配置されている都市の名前。
- 州または県:組織が所在する州または県の名前。
- 国:組織が合法的に登録されている国の2文字の国際標準化機構(ISO)形式の国コード。
ステップ4.Nginxの証明書を構成します。
これで、Nginxサーバーに証明書をインストールする準備が整いました。Nginxウェブサーバーの構成例は次のとおりです。
listen 443 ssl spdy; listen [::]:443 ssl spdy; ssl on; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; # ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1.1 TLSv1.2; # ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK'; # ssl_prefer_server_ciphers on; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=86400; resolver_timeout 10;
構成を保存し、Nginxウェブサーバーを再起動します:
nginx -t service nginx restart
これで、ドメインにHTTPS経由でアクセスできるようになります。https://yourdomain.comで確認してください。
おめでとうございます!LetsEncrypt SSLが正常にインストールされました。このチュートリアルを使用して、CentOS6システムにNginxを使用してLetsEncryptSSLをインストールしていただきありがとうございます。追加のヘルプや役立つ情報については、公式のLetsEncryptを確認することをお勧めします。 SSLWebサイト。