为什么 Google Chrome 会自动将 `http://app` 重定向到 `https://app` 但不会重定向到 `http://app2` 或 `http://napp `?
Why does Google Chrome automatically redirect `http://app` to `https://app` but doesn't do that to `http://app2` or `http://napp`?
环境:
- Ubuntu 18.04.6 桌面版 64 位
- Google Chrome
98.0.4758.80 (Official Build) (64-bit)
- FireFox
92.0 (64-bit)
我做了什么:
- 安装
apache2
(这样它会启动一个我可以在 http://localhost
访问的默认本地网站)。
- 编辑
/etc/hosts
并添加以下条目:
127.0.0.1 app
127.0.0.1 app2
127.0.0.1 napp
- 在 Google Chrome 上,打开以下 URI:
http://localhost
: 成功打开“Apache2 Ubuntu 默认页面”作为不安全域。
http://app
: 自动重定向到 https://app
并返回错误“无法访问此站点”
http://app2
: 同http://localhost
.
http://napp
: 同http://localhost
.
- 在 FireFox 上,打开以下 URI:
http://localhost
: 成功打开“Apache2 Ubuntu 默认页面”作为不安全域。
http://app
:与http://localhost
相同。
http://app2
: 同http://localhost
.
http://napp
: 同http://localhost
.
我在 Google 上搜索并看到了谈论从 http
自动重定向到 https
的帖子,例如 How to Stop Chrome from Automatically Redirecting to https。我通过删除域 app
的安全策略并清除所有时间的浏览器缓存来关注帖子,但我仍然从 http://app
重定向到 https://app
。 (实际上,我使用的是新安装的 OS 和 Google Chrome,并且在进行测试之前从未打开过 任何 网站。)
为什么 Google Chrome 会自动将 http://app
重定向到 https://app
但不会重定向到 http://app2
或 http://napp
?
我也了解到Chrome & Firefox now force .dev
domains to HTTPS via preloaded HSTS and Google rolls out .app domains with built‑in HTTPS。所以看起来浏览器正在使用 preloaded/builtin HSTS 来强制使用 HTTPS
。 但是 http://app
算作 .app
域的情况吗?
我认为应该是一些浏览器设置,因为 FireFox 没有进行重定向。
简单地说,Chrome 使用 a HSTS preload list to automatically redirect certain domains from HTTP to HTTPS. This preload list is "a list of sites that are hardcoded into Chrome as being HTTPS only." app
is already included into this preload list, as shown by this link:“状态:应用当前已预加载。”因此,当输入 http://app
时,Chrome 会自动将其重定向到 https://app
。但是 app2
和 napp
不包括在内,所以 http://app2
和 http://napp
没有被触及。
我写了文章 Why does Google Chrome automatically redirect http://app
to https://app
but doesn't do that to http://app2
or http://napp
? 来解释更多细节和其他相关链接。
环境:
- Ubuntu 18.04.6 桌面版 64 位
- Google Chrome
98.0.4758.80 (Official Build) (64-bit)
- FireFox
92.0 (64-bit)
我做了什么:
- 安装
apache2
(这样它会启动一个我可以在http://localhost
访问的默认本地网站)。 - 编辑
/etc/hosts
并添加以下条目:
127.0.0.1 app
127.0.0.1 app2
127.0.0.1 napp
- 在 Google Chrome 上,打开以下 URI:
http://localhost
: 成功打开“Apache2 Ubuntu 默认页面”作为不安全域。http://app
: 自动重定向到https://app
并返回错误“无法访问此站点”http://app2
: 同http://localhost
.http://napp
: 同http://localhost
.
- 在 FireFox 上,打开以下 URI:
http://localhost
: 成功打开“Apache2 Ubuntu 默认页面”作为不安全域。http://app
:与http://localhost
相同。http://app2
: 同http://localhost
.http://napp
: 同http://localhost
.
我在 Google 上搜索并看到了谈论从 http
自动重定向到 https
的帖子,例如 How to Stop Chrome from Automatically Redirecting to https。我通过删除域 app
的安全策略并清除所有时间的浏览器缓存来关注帖子,但我仍然从 http://app
重定向到 https://app
。 (实际上,我使用的是新安装的 OS 和 Google Chrome,并且在进行测试之前从未打开过 任何 网站。)
为什么 Google Chrome 会自动将 http://app
重定向到 https://app
但不会重定向到 http://app2
或 http://napp
?
我也了解到Chrome & Firefox now force .dev
domains to HTTPS via preloaded HSTS and Google rolls out .app domains with built‑in HTTPS。所以看起来浏览器正在使用 preloaded/builtin HSTS 来强制使用 HTTPS
。 但是 http://app
算作 .app
域的情况吗?
我认为应该是一些浏览器设置,因为 FireFox 没有进行重定向。
简单地说,Chrome 使用 a HSTS preload list to automatically redirect certain domains from HTTP to HTTPS. This preload list is "a list of sites that are hardcoded into Chrome as being HTTPS only." app
is already included into this preload list, as shown by this link:“状态:应用当前已预加载。”因此,当输入 http://app
时,Chrome 会自动将其重定向到 https://app
。但是 app2
和 napp
不包括在内,所以 http://app2
和 http://napp
没有被触及。
我写了文章 Why does Google Chrome automatically redirect http://app
to https://app
but doesn't do that to http://app2
or http://napp
? 来解释更多细节和其他相关链接。