概要
この記事では、NginxWebサーバーを使用してオリジンCloudflareSSL証明書を構成する方法について説明します。これらの手順は、Linux(CentOS、Debianなど)で実行されるWebサーバー用です。 Cloudflareは非常に有名なCDNおよびDDoS保護プラットフォームですが、他の多くのサービスを提供しています。それらのサービスの1つがSSL証明書です。すでにCloudflareを使用している場合は、それらからSSL証明書を取得することもできます。 SSL証明書は無料ですが(無料プランでも)、オリジンサーバーの証明書は無料です。エッジ証明書はそうではありません。オリジン証明書の欠点の1つは、生成された証明書が共有証明書(複数のユーザーによる1つのssl証明書)であるということですが、良い面は、提供された証明書が最大15年間持続し、TLS v1.3、HSTS、およびOnionをサポートすることです。ルーティング。
ClouflareでSSL証明書を生成する
したがって、CloudflareからSSL証明書を取得するには、すでにそれらのサービスを使用し、Cloudflareにドメインを追加する必要があります。ダッシュボードで、[SSL / TLS]メニューに移動してから、Originサーバーに移動します。
証明書を作成するオプションをクリックします。次に、キータイプを選択する必要があるプロンプトが表示されます(RSAタイプを選択してください)。また、Cloudflareにキーを生成させることを選択します。
その後、それらを有効にする期間を選択します。 Cloudflareは7日から15年まで有効なキーを提供します。 [作成]ボタンをクリックすると、公開キーと秘密キーが表示されるウィンドウプロンプトが表示されます。
両方のキーをコピーします。これらは次のステップに必要です。
サーバー上に証明書ファイルと秘密鍵ファイルを作成します
SSL証明書が生成されたら、次のステップはLinuxサーバーに証明書をインストールすることです。そのためには、サーバー上に2つのファイルを作成し、それらのファイルにCloudflareからコピーしたキーを貼り付ける必要があります。ファイルを作成するには、テキストエディタを使用して、新しいファイルにキーコードを貼り付けるだけです。各証明書ファイルは、特定のディレクトリに移動する必要があります。次のコマンドを使用してファイルを作成できます:
sudo nano /etc/ssl/certs/cert.pem sudo nano /etc/ssl/private/key.pem
ご覧のとおり、Cloudflareからコピーしたキーごとに2つのファイルが必要です。また、コマンドラインで、どこに移動する必要があるか、どのディレクトリに移動するかを指定できます。最初にcert.pemファイル–証明書コードとkey.pemファイルを貼り付けて、秘密鍵コードを貼り付けます。コードを貼り付けたら、ファイルを保存します。
CloudflareSSLを使用してサーバーとNginxを構成します
証明書ファイルが作成されたら、今度はnginxを使用してorigin cloudflare sslを構成する必要があります。つまり、以前に生成したcloudflareoriginsslを使用するようにnginxに指示する必要があります。もう一度テキストエディタを使用して、WebサイトのNginxサーバー構成を開きます。通常、次の場所にあります:
etc / nginx / sites-available / default
または、デフォルトの構成ファイルを使用せず、サイトに特定の構成ファイルがある場合は、代わりにそのファイルを編集します。ファイル内の–直後の– 80行を聞く:これらの行も追加します:
listen 443 ssl http2; listen [::]:443 ssl http2; ssl on; ssl_certificate /etc/ssl/certs/cert.pem; ssl_certificate_key /etc/ssl/private/key.pem;
ファイルを保存して終了します。最終的に、新しい構成は次のようになります。
server { listen 80; listen [::]:80; listen 443 ssl http2; listen [::]:443 ssl http2; ssl on; ssl_certificate /etc/ssl/certs/cert.pem; ssl_certificate_key /etc/ssl/private/key.pem; root /var/www/html/; index index.php index.html index.htm; server_name somesite.com www.somesite.com; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; ## include fastcgi_params; } }
注–サーバー名の行にはドメイン名が反映されている必要があります。上記の構成のエントリは、単なる例として使用されています。
構成が保存されたら、エディターを終了してNginxサーバーを再起動します。
sudo systemctl restart nginx.service
以上です。
概要
Nginxを使用してオリジンCloudflareSSLを構成する手順について説明しました。繰り返しになりますが、Cloudflare無料プランで無料になっているのはオリジン証明書だけです。これらは完全なSSLソリューションではありませんが、問題なく機能し、多くのSSLプロトコルをサポートしています。 15年までの無料の証明書を提供していることを考えると、それはまったく悪いことではありません。
もちろん、これは無料のSSLでWebサイトを保護するための唯一の無料の方法ではありません。もう1つの優れたオプションは、最も一般的ではないにしても、Let’sEncryptサービスのSSLを使用することです。 Let’sEncryptSSLを使用してNginxWebサイトを保護する方法と同じプロセスについて説明しました。このリンクで投稿を確認できます。
お時間をいただきありがとうございました。情報がお役に立てば幸いです。