HSTS

HSTSとは

HSTS(HTTP Strict Transport Security)は、「このサイトには、今後は必ずHTTPSで接続する」とブラウザに覚えさせる仕組みです。サーバーがHTTPSの応答に Strict-Transport-Security ヘッダーを付けると有効になります。仕様はRFC 6797です。

HSTSが必要な理由

サイトをHTTPS化しても、利用者が http:// でアドレスを入力したり、古いリンクから訪れたりすると、最初の1回はHTTPで接続します。この通信は暗号化されていません。公衆Wi-Fiなどでは、通信の途中にいる第三者がHTTPSへの切り替えを妨げ、偽のページを見せることがあります。

HSTSを有効にすると、ブラウザは記憶している期間、HTTPでの接続を自分でHTTPSに読み替えます。証明書にエラーがある場合も、利用者が警告を無視して先へ進むことはできなくなります。

HSTSの仕組み

  1. ブラウザがHTTPSでサイトに接続し、応答にHSTSヘッダーが含まれる。
  2. ブラウザが、そのドメインと有効期間(max-age)を記憶する。
  3. 期間内は、HTTPのアドレスを内部でHTTPSに置き換えてから接続する。
指定意味
max-age=31536000記憶する秒数。31536000秒は1年
includeSubDomainsサブドメインにも適用する
preloadブラウザに組み込まれるHSTSリストへの登録を希望する(別途申請が必要)

HTTPの応答に付いたヘッダーは無視されます。また、記憶する前の初回訪問は保護されません。

HSTSの確認方法

ブラウザの開発者ツール(F12)で「ネットワーク」タブを開き、ページを再読み込みして、最上段のHTML文書のレスポンスヘッダーに strict-transport-security があるかを見ます。コマンドでは次のとおりです。

curl -s -D - -o /dev/null https://example.com/ | grep -i '^strict-transport-security'

何も表示されなければ未設定です。WindowsのPowerShellでは curl.exe -s -D - -o NUL https://example.com/ | Select-String strict-transport-security を使います。

HSTSの設定例

HTTPSで返す応答にだけ付けます。初めて有効にするときは、数値を300(5分)などの短い値にして始め、問題がなければ段階的に延ばします。hstspreload.orgは、5分、1週間、1か月と延ばし、最終的に1年(31536000秒)以上にする手順を示しています。以下は最終的な値の例です。

Apache(.htaccess)の例です。

<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000" env=HTTPS
</IfModule>

nginx(HTTPSのserverブロック)の例です。

add_header Strict-Transport-Security "max-age=31536000" always;

WordPress(子テーマのfunctions.php)の例です。

add_action('send_headers', function () {
    if (is_ssl()) {
        header('Strict-Transport-Security: max-age=31536000');
    }
});

よくある間違いと注意点

  • 最初から長い期間を指定すると、証明書の期限切れや設定ミスが起きたとき、その期間いっぱいサイトを開けない利用者が出ます。
  • includeSubDomains は、社内用やテスト用を含むすべてのサブドメインがHTTPSで動くと確かめてから付けます。
  • preload は、取り消しにブラウザの更新を待つため、数か月かかることがあります。hstspreload.orgの要件(max-ageが1年以上、includeSubDomains、preload)を満たし、HTTPSを長く維持できる場合だけ申請します。
  • HTTPからHTTPSへの301転送は別に必要です。HSTSだけでは、初回のHTTP接続は防げません。
  • CDNやリバースプロキシの背後では、ヘッダーが利用者まで届いているかを、公開URLで実際に確認します。

Webサイト セキュリティチェッカーで確認する

Webサイト セキュリティチェッカーは、URLを入力すると、HSTSヘッダーの有無とmax-ageの長さ、HTTPからHTTPSへの転送の状態を診断します。結果には、判断の根拠となった応答の内容が示されます。

関連用語

関連する用語

サイトの設定を無料で確認する

サイトのURLを入力するだけで、HSTS などの設定状況を診断できます。Webサイト セキュリティチェッカー「Security Checker X」は、登録なしで使えます。

デジタルマーケティング事業部 統括マネージャー

略歴:京都大学情報学研究科知能情報学専攻修士課程修了後、日経大手インターネットショッピングモールの開発部でエンジニアとしてシステム開発・運用に従事。同社新規モバイル事業の立ち上げに開発プロジェクトマネージャー、兼プロダクトマネージャーとして参画。その後、外資系大手製薬メーカーのデジタルマーケティング部門でシニアアソシエイトとして従事した後、2020年にエスライン・テクノロジーズのデジタルマーケティング事業部統括マネージャーに就任。カスタマーファーストでデジタルマーケティングの役立つ情報を日々発信中。

【MALINE】総合デジタルマーケティングツール
【特別価格】Digicert VMC
NEWS
  1. 1

    【NEWS】旅行比較サイト『TRAVEL HUB(トラベルハブ)』サービス提供開始のお知らせ

  2. 2

    オフィス移転のお知らせ

  3. 3

    【MALINE】マリン株式会社設立のお知らせ

  4. 4

    無料で使える「Excel版 一斉メール配信ツール」提供開始のお知らせ ~SMTP設定だけで今すぐメール一括送信~

  5. 5

    中小企業向けDXプラットフォーム『Hirameki 7』SEO/MEO支援オプション提供開始。Hirameki 7ご利用者様の集客効果を最大化!

カレンダーから記事を探す
2026年10月
月 火 水 木 金 土 日
 1234
567891011
12131415161718
19202122232425
262728293031  
SEO検索順位チェッカー
Googleマップ/MEO順位チェックツール
【無料】メールアドレス生存確認ツール
【無料】Excel一斉メール送信ツール
メールアドレス漏洩・流出チェックツール
メールドメインブラックリスト判定ツール
DMARC/SPF/DKIM診断ツール
IPアドレス位置・住所特定ツール
自分のIPアドレス確認ツール
驚愕効果のSEO対策