CentOS Nginx環境にSSL設定をする

無料でSSL証明書を取得できるサービスLet’s Encryptの紹介です。
EPELリポジトリのパッケージを利用するのでyumでCentOSにインストールしておきます。

yum install epel-release

cerbotをインストールします。
Certbotは無料かつ自動でSSL証明書を発行できるツールです。
証明書の署名と発行はLet’s Encryptと呼ばれる認証局によって行われます。
記事はOracleCloudに構築した仮想マシンですが他でも流用可能です。

yum install certbot

Cerbotがインストールでできたら証明書の発行を行います。

certbot certonly --webroot -w /var/www/drupal -d minokamo.work

スクショはドキュメントルートが/var/www/drupalでドメイン名がminokamo.workの例です。
記載の通り/etc/letsencrypt/live/yourdomeinになにかしら重要なファイルが作成されたことが分かります。
ファイルを確認すると
cert.pem、chain.pem、fullchain.pem、privkey.pem、README
が作成されてました。

これらのファイルの存在をnginxの設定ファイルに記述することでSSLの設定をすることができます。
デフォルトではファイル名がdefault.confなのでそれをエディタにて編集します。
ファイルは/etc/nginx/conf.dにあると思います。
root /var/www/drupalの下、location = /favicon.ico {の上に追記します。
http接続しても強制的にhttps接続する設定も記述しました。

listen 80;
     listen [::]:80;
     listen 443 default ssl;
     ssl_certificate       /etc/letsencrypt/live/minokamo.work/fullchain.pem;
     ssl_certificate_key   /etc/letsencrypt/live/minokamo.work/privkey.pem;
  #  Redirect HTTP to HTTPS
     if ($scheme = http) {
         return 301 https://$server_name$request_uri;
     }

上書き保存したらnginxを再起動。

systemctl restart nginx

ブラウザで有効の有無を確認しましょう。

コメント

タイトルとURLをコピーしました