web-dev-qa-db-ja.com

サブドメインのブラウザでHSTSを無視する

[からコピー https://stackoverflow.com/questions/39937837/]

local.example.comが127.0.0.1を指すようにDNSを設定しました。これは、ライブサイトと開発環境の間でCookieを共有できるようにするためです。

ライブサイトでHSTSをアクティブにすると、ブラウザは自動的にローカルサイトにアクセスしようとします https://local.example.com/ これは開発サーバーがSSLをサポートしていないため機能しません(ポート443でサービスを提供してみました)。

ブラウザ(Chromium)にHSTSを無視するように指示する方法はありますか?

(私が読んだことから、includeSubDomainsはCookieハイジャック攻撃を回避するために非常に重要です-基本的に私は自分自身のサブドメイン例外のみを含めたいです)。

2
EoghanM

これが特定の状況で役立つかどうかはわかりませんが(この「解決策」を知っている場合)、考えられる1つの方法は、ブラウザーのHSTSキャッシュをクリアすることです。たぶん、これを特別なキー(組み合わせ)にマップすることも可能です。これにより、呼び出しがより簡単になります。

Chromiumでそれを行う方法は次のとおりです。

  1. 問題が発生しているページに関連する開いているタブをすべて閉じます。
  2. 新しいタブでchrome://net-internals/#hsts
  3. セクションヘッダー「QueryDomain」を見つけ、「Domain:」の横のテキストフィールドに問題が発生しているドメインを入力し、「Domain:」というラベルの付いたボタンを押します。 Query
  4. 検索クエリボックスの下に表示されるドメインはすべて削除する必要があります。
  5. セクションヘッダー「ドメインの削除」を見つけ、「ドメイン:」の横のテキストフィールドに問題が発生しているドメインを入力し、ラベルの付いたボタンを押します。 Delete
  6. 手順3のクエリの結果が「見つかりません」と表示されるまで、手順3から5を繰り返します。
  7. ブラウザを閉じてから再度開くと、問題が解決するはずです。

追記:これは、ドメインが HSTSプリロードリスト の一部でない場合にのみ機能します。

2
gf_

いいえ、例外を追加することはできません。ただし、HSTSは有効な証明書が必要であると宣言するだけで、どの証明書であるかについては何も宣言しません(そのためのHPKPヘッダーがあります)。したがって、独自の自己署名証明書を生成し、信頼できるものとしてchrome証明書とHSTSは、localhostでも正常に機能します。

1