さくらのVPS 無料SSLを利用したWebサーバーの構築

  • 概要
    さくらのVPSにおいてSSLを利用するための無料サーバー証明書を取得、WebサーバーにNGINXとPHP-FPMを利用するWebサイトを構築したときの内容を書いたブログの記事をまとめました。
  • キーワード
    Let’s Encrypt, NGINX, SSL/TSL, Vsftpd, PHP-FPM, Postfix, MariaDB, WordPress
  • 時期
    2018年5月
  1. VPS NGINXとSSL,FTPサーバーのインストール
  2. VPS NGINXとPHPサーバーのインストール
  3. VPS NGINXとWordPressのインストール

背景

さくらインターネットから、自身のドメインに専用のSSL(共有SSLでない)を無料で利用できる、という案内が届きました。前回構築したVPSのWebサーバーは役目が終了しましたので、ここで新たに開発環境を再構築することにしました。

SSLを利用した暗号化通信はこれまで利用コスト、煩雑な設定、データ量の増加、動作速度の遅延などから忌避されてきました。しかしながら、インターネットの自由な世界が犯罪など頻繁に悪用されるようになり、情報の発信者も受け手も常に危険に晒されている状況になってきました。

このような状況においてSSLを利用するhttpsサイトは、送受信データが暗号化されている事、サーバー証明書から登録されたサイトを確認できる事、などから安全面で有効な仕組みとして受け入れられています。

最近のWeb界隈はGoogleがhttps化を進めていることもあり、ホームページは暗号化通信を利用することがデファクトスタンダードになりつつあります。ホームページの制作は、これからはhttps接続するサイトを利用することが一般的になってくるかと思います。

さて今回は、さくらのVPSで「Let’s Encrypt」が提供する無料のサーバー証明書を利用してhttpsサイトを構築します。

レンタルサーバーでhttpsサイトを立ち上げた事があれば、必要な知識の獲得やサーバーの管理操作が大変煩雑であることをご存知かと思います。ところが、さくらのVPSサーバーのスタートアップスクリプトを利用してインストールすると、いとも簡単にhttpsサイトが構築できました。

ですがこの備忘録があることでお察しの通り、WordPressが動作するWebサイトに仕上げるために苦労しましたので、操作内容を残すことにしました。

SSLとTLS

インターネット上で通信データが盗聴されても心配ないように、暗号化通信をする、と言えば「SSL」の名称が広く使われています。

しかしながら、現在サーバー・クライアント間の暗号化通信で利用されるプロトコルは「TLS」になります。

「TLS」は、脆弱性のため利用されなくなった「SSL 3.0」を元に開発された新しいプロトコルで、現在利用されているバージョンは「TLS 1.2」になります。

暗号化通信はこのため、「SSL」または「SSL/TLS」の表記が現在使われているようです。

本稿では暗号化通信やサーバー証明書など動作の仕組みも含めて「SSL」を利用します。が、実際の通信プロトコルは「TLS 1.2」が標準的に利用されるものとなります。

SSL:Secure Sockets Layer
TLS:Transport Layer Security

参考:SSLとTLSの違いとは