2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Vultr VPSで無料でhttps(SSL証明書)を使いたい

Last updated at Posted at 2022-09-05

はじめに

VultrのVPSでサーバー費用を安くできてもほとんどのブラウザではhttpsが使えないと警告表示されて信頼度が著しく低下してしまうのでSSLを使いたいが、SSLは高い。そこで無料SSLであるZeroSSLを試してみた。Let's Encryptの方が有名ですが、手続きがちょっと面倒くさい印象で、私はZeroSSLの方がブラウザだけで手続きが終わるので楽だと思います。

激安VPSのVultr紹介者からのリンク経由でアカウント登録すると$100のクレジットをもらえるので、CentOS7, 8, MySQL 5.7, 8などの組み合わせをいろいろ試しました。このキャンペーンはいつ終わるか分からないので、興味のある方は以下のリンクからアカウント登録してください。あなたはクレジットをもらえるし、私にも多少のクレジットが入るらしいので、Win-Winです。

このリンクで$100もらえます

スクリーンショット 2020-03-09 午後7.03.25.png

私もリファラー経由でアカウントを作ったので$100もらえました。これで最初にあれやこれや試すのは無料でできます。
スクリーンショット 2020-03-09 午後7.17.41.png

1. ZeroSSLでSSL証明書を取得

(1) 無料版SSL申込のサインアップ

メールアドレスとパスワードを設定するだけ。
スクリーンショット 2022-09-05 午後8.48.32.png
スクリーンショット 2022-09-05 午後8.49.23.png

(2) SSL証明書を申し込む

スクリーンショット 2022-09-05 午後1.44.10.png

自分のドメインを指定するとwww無しと有りが自動的に出る。どうやら、hogehoge.comwww.hogehoge.comのようにサーバー名としてはwwwしか指定できないらしいが、ほとんど場合はwwwでしょうから問題無いでしょう。任意の名前やドメイン全体に有効なSSL証明書は有償サービスになっています。
ZeroSSL002.png

無料で使える90日を選択する。
スクリーンショット 2022-09-05 午後1.45.58.png

ドメイン情報を自動取得させて自分で入力しなくて済むように指定する。
スクリーンショット 2022-09-05 午後1.46.45.png

無料を選択する。
スクリーンショット 2022-09-05 午後1.47.12.png

ドメインの所有者かどうかを確認するが、Emailが一番楽なので選択した。ただし、admin@あなたのドメインのメールアドレスが有効である必要がある。
ZeroSSL003.png

Verify Domainボタンを押すと確認メールが前の画面で指定したメールアドレスに届く。!
ZeroSSL004.png

ZeroSSL005.png

メールが来たらGo To Verification Pageリンクをクリックする。
ZeroSSL006.png

メールに記載されているVerification Codeを入れる。
ZeroSSL007.png
スクリーンショット 2022-09-05 午後2.03.50.png

ドメイン所有の確認が終わったら、SSL証明書発行手続きに進む。
ZeroSSL008.png

WebサーバーはNginxなのでServer Typeに指定してDownloadボタンを押すとSSL証明書がダウンロードできる。
ZeroSSL009.png

以下の画面になったら、SSL証明書をVPSのNginxで使えるように設定する。(2.に記載の手順)
ZeroSSL010.png

2. SSL証明書をVultr VPSのNginxに入れる

Macからscpで証明書をVultrにコピー
$ scp -i ~/.ssh/vultr certificate.crt deploy@あなたのVPSIPアドレス:/var/www/myapp/
$ scp -i ~/.ssh/vultr private.key deploy@あなたのVPSIPアドレス:/var/www/myapp/
/etc/sslに移動
[deploy@vultr myapp]$ sudo mv certificate.crt /etc/ssl/
[deploy@vultr myapp]$ sudo mv private.key /etc/ssl/
[deploy@vultr myapp]$ cd /etc/ssl
[deploy@vultr ssl]$ chmod 644 certificate.crt
[deploy@vultr ssl]$ sudo chown root.root certificate.crt
[deploy@vultr ssl]$ ls -l
total 4
-rw-r--r--. 1 root root 2305 Sep  5 18:40 certificate.crt

Installing SSL Certificate on NGINXの手順に従ってNginxでSSLを有効化する。

/etc/nginx/nginx.conf
# Settings for a TLS enabled server.
#
    server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  www.あなたのドメイン;
        root         /usr/share/nginx/html;

        ssl_certificate "/etc/ssl/certificate.crt"; <=ここを修正
        ssl_certificate_key "/etc/ssl/private.key"; <=ここを修正
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

ZeroSSLの画面でCheck Installationボタンを押すとSSLが有効になっているか確認して結果が出る。
ZeroSSL010.png

ZeroSSL011.png

以上で作業完了ですが、ブラウザからhttps://あなたのサーバーでアクセスしてSSL接続されているか確認して終わりです。当然ながら、あなたのVultr VPSサーバーのIPアドレスがDNSであなたのドメインのアドレスとして名前解決できる必要があります。

3. 90日ごとにSSL証明書を更新する

無料のSSL証明書の有効期限は90日なので、90日ごとに毎回証明書を取得するか自動更新の仕組みを構築する。ZeroSSLのダッシュボードで有効期限が確認できるので、残り少なくなったら新しいSSL証明書を取得してNginxに入れる。以下の手順でキャンセルすると無料プランが使えるようになる。

ZeroSSL012.png

Tips

SSL証明書を更新する時に無料プランが選択できなくなっていた場合はPending Validationステータスになっている証明書がないかどうか確認する。これがあるとQuota数に数えられてしまって無料プランの上限に達して更新できなくなってしまう場合がある。

Cancelling an SSL Certificate

4. 無料再更新の回数制限

Google検索で見つかる古いZeroSSLの記事では回数無制限に永久に無料で使えそうな記述のものが多いが、実際には同一ドメインの更新は3回までという制限がある。これ以降は有料プランにする必要がある。サポートの問い合わせたので間違い無いです。

ZeroSSLサポートからの回答
Thank you for reaching out to ZeroSSL.

To clarify, on the Free Plan, you can create 3x independent 90-day certificates for different domains or create one 90-day certificate for one domain and renew it two times.

Please see how our quota is calculated:

👉 How Is the Quota Calculated?
 
I hope this clarifies.
 
Best regards,
******
ZeroSSL Customer Success

How Is the Quota Calculated?

5. 終わりに

趣味でサーバーを持ちたいとか、ちょっとした個人事業程度のビジネスアイデアでサーバー構築するような時は初期費用を限りなく小さくしたいので、SSLを無料で使えるのはうれしい。ビジネスが成長して利益がでるようになってから有償サービスを使ったり、サーバー負荷が高くなったらAWSに移行すれば良いと思います。

参考記事

無料の SSL 証明書が得られる ZeroSSL を使ってみた
ZeroSSL(ゼロエスエスエル)についてまとめ
ZeroSSLの証明書を無制限にcert-managerで発行する
Installing-SSL-Certificate-on-NGINX
Cancelling an SSL Certificate

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?