Chromeが擬似的に返す謎の307リダイレクト
HTTPS First Modeとは
市川@cakephper
PHPerKaigi 2024
自己紹介
VAddy PHPカンファレンス全部スポンサーする
HSTS(HTTP Strict Transport Security)
HSTS指定方法
HSTS
サイト管理者が
HTTPSで接続してほしい世界
わかる!
Chromeが勝手に
HTTPSで強制接続する世界
?
非HSTSサイトなのに
??????
目次
HSTSの問題点
HTTPS First Mode
HTTPS Upgrade
HTTPS First Mode/HTTPS Upgrade
Chrome「初手HTTPSで繋いでみようぜ」
Chrome「HSTSとか関係なく」
Chrome「ダメならフォールバックすればおk」
HTTPS First Mode/HTTPS Upgrade
HTTPS First Mode/HTTPS Upgrade
2023年10月
Chrome 「やっておきました!」
世界のスピード感!
HTTPS Upgradeの動作
http://…
HTTP/1.1 307 Temporary Redirect
Location: https://example.com/
Non-Authoritative-Reason: HttpsUpgrades
Content-Length: 0
HTTPS Upgradeの動作
https://…
httpsでアクセス
HTTPS Upgradeの動作(フォールバック)
http://…
HTTP/1.1 307 Temporary Redirect
Location: http://example.com/
Non-Authoritative-Reason: HttpsUpgrades
Content-Length: 0
307はChromeの中だけの世界
HTTPS Upgradeのフォールバック
httpsポートが閉じている
証明書エラー
レスポンスが404
レスポンス受信まで3秒以上かかる
HTTPS Upgradeでより安全な世界に!
想定外の動作となるケースがある
ポート指定の場合のHTTPS Upgrade
http://example.com:8000
https://example.com:8000
同一ポートにリダイレクト!
ご清聴ありがとうございました
始まりは突然に
2023年10月1日
VAddy Chrome/Edge拡張をリリース
10月16日に拡張が壊れた
資料
メモ
HSTSのヘッダ
Strict-Transport-Security: max-age=<expire-time>
Preload Listは仕様書で定義されていないため注意
RFC https://www.rfc-editor.org/rfc/rfc6797#section-6.1