シェルスクリプトマガジン

第22回 WebサーバーをHTTPSに対応させる(Let’s Encrypt)

Webサーバーのプロトコルとして「HTTP」(Hypertext Transfer Protocol)ではなく、「HTTPS」(Hypertext Transfer Protocol Secure)を利用するのが当たり前になりつつあります。HTTPSでは、SSL/TLS(Transport Layer Security/Transport Layer Security)による暗号化を施しています。
米Google社では、インターネット検索サービスのランキングでHTTPSに対応したWebサイトを優遇したり、Webブラウザー「Chrome」でHTTPSに対応したWebサイトをアクセスした場合に「保護された通信」や会社名を表示して安心感を与えたりするなど、HTTPS化を推進しています(図1)。

図1 HTTPSに対応しているWebサイトのアドレス表示例

Apache HTTP ServerNginxなどのWebサーバーソフトでHTTPSを有効にすることは、それほど難しいことではありません。ただし、HTTPSには「SSLサーバー証明書」が必要で、それが正式なものでないと、Webブラウザーに図2のようなメッセージが表示されます。そのサイトを例外などに加えないとアクセスできません。

図2 正式な証明書を持っていないWebサイトの閲覧例

そこで今回は、連載8回で構築したApache HTTP Server(以下、Apache)の通信のHTTPS化と、無料で正式なSSLサーバー証明書を入手・導入する方法を紹介します。