Let’s Encryptをつかって無料でSSL対応!


SEO 2018年11月19日 250
Let's Encryptをつかってお得にSSL対応しちゃいましょう。環境はcent os , nginx ,VPSになります。
初心者程度のサーバ知識は必要ですが、全く知らない人でも頑張ればできるようになると思います。

実際にLet's Encryptnのサイトにいって何か登録をする、アカウントを作る、メールアドレスを登録するといったややこしいこともありませんのでご安心ください。
ただ、Let's Encryptは3ヶ月で有効期限が切れます、自動発行の手続きを設定してください。クライアントワークでやる際は注意してください。
クライアントワークならばやはり有料のをつかった方が安心です。高いですし、更新忘れも怖いですが。

環境は下記になります。
OS:centos
WEBサーバ:NGINX

では、張り切って生きましょう。
まず、SSL接続でサーバにログインします。

1.certbotをインストールしたい場所に移動します。場所に指定はありませんので自分で管理し易い場所に移動しましょう。
今回はルートに移動します。

cd ~

2.certbotをインストールする。gitでcloneするだけです。簡単ですね。

git clone https://github.com/certbot/certbot

3.インストールが終わったらcertbotの中に入りましょう。

cd certbot

4.Certbot クライアントをインストールします。
sudo ./certbot-auto –debug
※yumで導入したパッケージが自動アップデートされるます。

5.WEBサーバを選んでください、と聞かれるのでここではnginxを選択します。

6.DNSからサーバに届いているドメインが表示されますので、SSL化したいドメインを選びます。
※pythonが2.7以下だとアップデートしましょうという赤文字がでますが、SSL化に関しては影響ないので無視しても大丈夫です。

7.SSL証明書発行を発行します。

sudo ./certbot-auto certonly

8.ACME CAをどこでやるかを聞かれます。

1: Apache Web Server plugin – Beta (apache)
2: Nginx Web Server plugin (nginx)
3: Spin up a temporary webserver (standalone)
4: Place files in webroot directory (webroot)

サーバ設定が絡んでくるので、webrootを選択することを推奨します。

9.ドメインを聞かれるのでドメインを入力します。www有無には注意してくださいね。無料なので両方分、証明書もらうことも可能ですけど。

10.ドメインのルートパスを書きましょう。/var/www/html/(ドメイン)/あたりでしょうか。

ここまで入力したら証明書発行されています。

Congratulations! Your certificate and chain have been saved at

と表示されるかと思います。
webrootではなくnginxを選んでしまうとconfファイルに日本語があるから無理といったエラーが出ますのでwebrootを推奨します。

次はnginxのファイル設定です。
当然、httpからhttpsへのリダイレクトを設定しないといけません。
80のリクエストをSSLのhttps(443)にリダイレクトするという設定です。

nginxのconfファイルの場所に移動します。
場所は環境によって違うと思うのでnginxの場所を探していってください。

/etc/nginx/conf.d/

confファイルを書きます。
(ドメイン名)はSSL化したいドメインを入力してください。

——————————–

server {
listen 80;
server_name (ドメイン名);
return 301 https:// (ドメイン名)$request_uri;
}

server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/letsencrypt/live/ (ドメイン名)/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ (ドメイン名)/privkey.pem;
server_name (ドメイン名);
add_header Strict-Transport-Security ‘max-age=31536000’;
root /var/www/html/ (ドメインのルートディレクトリ);
index index.php;
charset utf-8;
}

——————————–

add_headerはブラウザにSSLですよと伝える設定です。

そして最後に自動更新の設定をします。

crontabに下記の設定を追加しましょう。
0 1 1 * * root /ホームディレクトリのパス/certbot/certbot-auto renew –force-renewal && service nginx restart

以上です。
これで無料SSL化の設定完了です。

Facebook