Perlがくしゅう帳(Rubyも)

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_で活動しています。 最近は主にPerl関連の勉強会やコミュニティに参加しています。移転前のブログはこちら->http://ruby.doorblog.jp/

続・さくらVPS+CentOS7で、独自ドメインのウェブサイトを公開するまでの道のり〜https編〜

前回の記事で、無事nginxのリバースプロキシを利用した、さくらVPS + Centos7環境でのwebサイトを公開をすることができました。

さて、次の一歩として、サーバー証明書を導入してhttpsアクセス出来るようにするチャレンジです。

サーバー証明書

今回は無料の Let's Encrypt を使ってみようと思います。この証明書は、LineBotでも使える証明書となっているので、ゆくゆくはこのサーバーでLineBotも作ってみようかというのが最終的な野望です。

Let's Encrypt は、日本語の解説ページもあり、言われる通りすすめるだけでインストールができました。

Let's Encrypt の使い方 - Let's Encrypt 総合ポータル

sudo ls -la /etc/letsencrypt/live/tomcha.net/
# で確認すると、以下のリンクが出来ていました。

cert.pem -> ../../archive/tomcha.net/cert1.pem
privkey.pem -> ../../archive/tomcha.net/privkey1.pem

nginxの設定

前回、nginx.conf で、listen 80; とか書いた感じを、 listen 443;で書いたのを追加すればいいのかなーと予想してみる。

ググッて参考にしたページがこちら。ほぼ予想通りだった。

nginx で ssl 設定をする | dogmap.jp

証明書、鍵のリンクが自分の環境とは異なっているので、その部分は書き換えてnginx.confを修正。

sudo vim /etc/nginx/nginx.conf

書き足した内容は

server {
    listen 443 default ssl;
    ssl on;
    # サーバ証明書(サーバ証明書に中間CA証明書を連結したもの)
    ssl_certificate      /etc/letsencrypt/live/tomcha.net/cert.pem;
    # 秘密鍵
    ssl_certificate_key  /etc/letsencrypt/live/tomcha.net/privkey.pem;  

    location / {
        proxy_set_header Host $http_host;
        proxy_pass http://localhost:8080;
        }
    }
}

ngnxをRestartして....

sudo service nginx restart

ブラウザからhttpsで開いてみると...

httpsでアクセスできたーーーー!!証明書キターーーーー!

f:id:tomcha0079:20160803205724p:plain