0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTTPSリダイレクトの必要性とクローラーについて調べてみた

Posted at

はじめに

個人開発で自分のウェブアプリへの通信形式をHTTPSにしようとAWSのCloudFrontを設定している際に「そもそも大多数のユーザーはわざわざHTTPを指定してアクセスすることなどないのではないか?HTTPSリダイレクトは本当に必要なのか?」という疑問が浮かんだ。また、調べる過程で出てきた検索エンジンのクローラーとは何なのか?どういう動きをし、どのようにサイトのインデックスを管理しているのか?ということについて調べた。

初心者ながら調べてみた内容を整理してみる。

1. なぜHTTPからHTTPSへのリダイレクトが必要なのか

1-1. そもそもHTTPSとは?

HTTPS(HyperText Transfer Protocol Secure)は、HTTPにTLS(旧SSL)を組み合わせた通信プロトコルであり、

  • 通信の暗号化(盗聴を防ぐ)
  • データの整合性(改ざんを防ぐ)
  • サーバーの認証(なりすましを防ぐ)

といった機能を提供する。

現在、Googleをはじめとする検索エンジンは、HTTPSのサイトを優遇するアルゴリズムを導入しており、HTTPSで運営されていないサイトはSEO的に不利になる可能性がある。

1-2. HTTPSリダイレクトを設定しないと何が問題か?

「ユーザーは基本的にHTTPSでアクセスするのでは?」と思うかもしれない。しかし、以下のような理由でHTTP経由のアクセスが発生する可能性がある。

ケース 理由 影響
ユーザーの手入力 https:// まで入力しない場合がある HTTPでアクセスする可能性
外部サイトのリンク 他のサイトがHTTPのリンクを貼っている HTTP経由で訪問するユーザーが発生
イントラネット環境 企業内の古いネットワークではHTTPが優先されていることがある HTTPSがブロックされる場合がある
プロキシ環境 一部のプロキシサーバーがHTTPSを適切に処理できない HTTPリクエストが発生する可能性
検索エンジンのクローラー HTTPとHTTPSの両方をチェックする インデックスに影響

イントラネットとは、企業や組織内で使用される内部ネットワークのことで、外部のインターネットとは切り離された環境で運用されることが多い。なぜイントラネット環境ではHTTPが優先されることがあるのか? それは、古いネットワーク機器やセキュリティポリシーの影響でHTTPS通信がブロックされるケースがあるためだ。このような環境では、HTTPリクエストが発生する可能性があるため、HTTPSリダイレクトを適切に設定することが重要になる。

リダイレクトを設定しない場合、HTTPでアクセスされた際に「403 Forbidden」などのエラーが発生する可能性がある。また、検索エンジンがHTTPとHTTPSの両方を認識してしまい、SEO評価が分散する可能性もある。

2. クローラーとHTTPSリダイレクト

2-1. クローラーとは?

検索エンジンのクローラー(Crawler)は、Webページを自動巡回し、インデックスを作成するプログラムである。

クローラー 検索エンジン
Googlebot Google
Bingbot Bing
YandexBot Yandex
BaiduSpider Baidu

クローラーの主な役割は以下の3つ。

  1. 新しいページを発見する - 他のサイトのリンクやサイトマップをたどる。
  2. ページの内容を収集する - HTMLやテキスト、リンク情報を取得。
  3. 検索エンジンのデータベースに登録する - 検索結果に表示するためのインデックス化。

2-2. クローラーはなぜHTTPにアクセスするのか?

検索エンジンのクローラーは、サイトのすべてのバージョンをチェックするため、http://example.comhttps://example.com両方にアクセス する。

適切にリダイレクトが設定されていないと以下の問題が発生する。

問題 説明
HTTPページがインデックスされる 検索エンジンがHTTPとHTTPSの両方を認識し、重複コンテンツの扱いになる可能性がある
SEO評価の分散 HTTPとHTTPSの両方が検索エンジンに登録されることで、評価が分散する可能性
クローラーのリソース消費 不要なHTTPチェックにより、クローラーのリソースが無駄になる

この問題を防ぐためには、HTTPからHTTPSへのリダイレクトを設定し、統一されたURLでサイトがインデックスされるようにすることが重要になる。

3. CloudFrontを利用したHTTPSリダイレクト設定

AWS CloudFrontを使用している場合、「Redirect HTTP to HTTPS」を設定することで、すべてのHTTPリクエストをHTTPSに統一できる。

3-1. 設定手順

  1. AWSマネジメントコンソールでCloudFrontを開く
  2. 対象のディストリビューションを選択
  3. 「Behaviors(ビヘイビア)」タブを開く
  4. デフォルトビヘイビアを編集
  5. 「Viewer Protocol Policy」を「Redirect HTTP to HTTPS」に変更
  6. 変更を保存し、適用を待つ(最大20分)

この設定を行うことで、HTTPアクセスが自動的にHTTPSへリダイレクトされ、ユーザーやクローラーが正しくHTTPSバージョンのサイトを利用できる。

4. まとめ

  • HTTPSはWebセキュリティの標準であり、すべてのサイトで推奨される。
  • ユーザーは意識してHTTPSを利用することが多いが、意図せずHTTPでアクセスするケースがある。
  • イントラネットやプロキシ環境では、HTTPS通信がブロックされる場合があり、HTTPリクエストが発生する可能性がある。
  • 検索エンジンのクローラーもHTTPでアクセスすることがあり、リダイレクトがないとSEOに悪影響を与える可能性がある。
  • AWS CloudFrontを利用する場合、「Redirect HTTP to HTTPS」を設定することで、すべてのリクエストをHTTPSに統一できる。

個人開発を進める中で、HTTPSリダイレクトの重要性について考える機会があったので、調べたことをまとめてみた。今後、より詳しいセキュリティ設定についても学んでいきたい。

5. 参考サイト

HTTPSリダイレクトの必要性と設定方法

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?