I have test the includesubdomain
directive, the result is that it only affects the host domain and the subdomain of the host domain.
For example, if you access the website with https://echo.local.io
, and the query the hsts/pkp with chrome://net-internals/#hsts
:
Query HSTS/PKP domain with echo.local.io
(the host domain)
Found:
static_sts_domain:
static_upgrade_mode: UNKNOWN
static_sts_include_subdomains:
static_sts_observed:
static_pkp_domain:
static_pkp_include_subdomains:
static_pkp_observed:
static_spki_hashes:
dynamic_sts_domain: echo.local.io
dynamic_upgrade_mode: FORCE_HTTPS
dynamic_sts_include_subdomains: true
dynamic_sts_observed: 1634294710.318108
dynamic_sts_expiry: 1650019510.318091
Query HSTS/PKP domain with another subdoamin foo.local.io
(same level as host domain
Not found
Query HSTS/PKP domain with root domain local.io
(the parent of the host domain)
Not found
Query HSTS/PKP domain with subdomain buzz.echo.local.io
(subdomain of the host main)
Found:
static_sts_domain:
static_upgrade_mode: UNKNOWN
static_sts_include_subdomains:
static_sts_observed:
static_pkp_domain:
static_pkp_include_subdomains:
static_pkp_observed:
static_spki_hashes:
dynamic_sts_domain: echo.local.io
dynamic_upgrade_mode: FORCE_HTTPS
dynamic_sts_include_subdomains: true
dynamic_sts_observed: 1634298549.210941
dynamic_sts_expiry: 1650023349.210936
see also: https://blog.codefarm.me/2021/10/15/http-strict-transport-security/#test-subdomain-with-echo-local-io