SSLの使えないサーバーでHTTPS配信をする裏技
現在のWebサイトでは必須であるSSL。SSLの使えないサーバーでHTTPS配信をする裏技を解説します。
SSL証明書を持っているCDNを使えばHTTPS化が可能
エッジサーバーとして機能するCDNの中には、CloudflareやAWSのCloudFrontのようにSSL証明書を発行する機能を持ったものがあります。
ドメインレジストラから付与されている通常のDNSサーバーではなく、CloudflareやCloudFrontのようなCDNが提供しているDNS機能を使うことで、サーバーとの通信をHTTPS化させることができます。
ただし、このHTTPS化とは、
ユーザー <- (1) -> DNS <- (2) -> サーバー
1の経路をHTTPS化することであって、2の経路についてはSSL化されないケースもあります。
なお、Cloudflareは無料で使えますが、CloudFrontは通信量に対する従量課金になっていますのでご注意ください。
SSLは使えないけどCNAMEに対応しているサーバー
サーバー自体にSSLは入っていないけれども、CNAMEレコードでの転送に対応していて、かつSSLでの通信を許可している場合は、CDNを間に噛ませて通信をHTTPS化できます。
SSLは使えないけど、CNAMEに対応しているサービスは例えば下記のようなサービスです。
- Google Cloud Storage
- AWS S3
- Heroku (無料プラン)
これらの場合、CloudflareなどのCDNを間に噛ませることでHTTPS化させることができます。
Cloud StorageとAWS S3については、同様の方法が紹介されています。
CloudFront を使用して Amazon S3 バケットに HTTPS リクエストを提供するには、どうすればよいですか?
Herokuに関しては、独自ドメインのHTTPS化は有料プランの機能となっていますが、DNSにCloudflareを使ったHTTPS化は筆者の試した限り、無料アカウントでも問題なく動きました。
SSLもCNAMEも使えない場合
この場合は、ドメインをAレコードで向けられるサービスに限ります。下記のような無料サーバーによくあるパターンです。
Cloudflareも無料から使えるサービスなので、スターサーバー フリーと組み合わせれば、無料でSSLに対応したサーバーを持つことができます。
また、旧来のサーバーでSSL化がすぐにできない場合や、Mixed Content(混合コンテンツ)対策として一時的にCDNを噛ませるのも一つの手です。
懸念点
この方式でサイトのHTTPS化ができますが、CDNとサーバー間の通信はHTTPになっているので、そこは注意が必要です。万が一、CDNからサーバーへの通信が漏洩したり、盗聴されるようなことがあれば、個人情報が流出する可能性があります。
この方式を使う場合は、個人情報などを扱わない静的サイトや静的コンテンツで使うのが良いでしょう。
SSLの使えないサーバーでHTTPS配信をする裏技をみてきました。
セキュリティ面を考えると、用途を限定した暫定的な使い方にはなりますが、それでも無料で使えるのは便利なので、ぜひ覚えておいてください。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
CDNの新着記事
- CDN無料で使えるCloudflare Zero Trustでノープログラムでアクセス制限を実装する 2022.4.27
- CDNCloudflareでLets Encryptの更新エラーに対応する 2020.11.16
- CDNエッジが大事!HTTP3.0時代のCDNの活用方法 2020.11.9
- CDNCloudflareのキャッシュを操作する方法 2020.9.21
- CDNCloudflareのキャッシュについて理解する 2020.9.17
- CDNCloudflareで静的サイトをキャッシュする時のベストプラクティス 2020.9.2
- CDNCloudflareを使ってwwwあり・なしURLを正規化する方法 2020.8.25
- CDNCloudflare Registrarで登録できるドメイン一覧と更新料金 2020.5.25