Domain-Name-System

需要 HTTPS 連接的頂級域 (TLD) 列表,例如 .dev

  • January 30, 2022

我知道.dev頂級域要求所有站點僅支持加密的 HTTPS 連接,不允許任何 HTTP 連接。

還有其他這樣的頂級域名嗎?

如果更多頂級域開始使用HTTP 嚴格傳輸安全(HSTS,RFC 6797)強制執行 HTTPS,那麼對此的直接回答最終將變得過時。從技術上講,這是送出到預載入列表的 TLD 的 HSTS 政策。它始於Google的新頂級域名

HSTS 預載入列表可以包含通過HSTS 網站添加的單個域或子域甚至頂級域 (TLD) 。TLD 是域名的最後一部分,例如.com.net.orgGoogle 運營著 45 個 TLD,包括.google.how.soy. 2015 年,當我們添加.google到 HSTS 預載入列表時,我們創建了第一個安全 TLD,現在我們正在為更多的 TLD 推出 HSTS,從.foo和開始.dev

甚至對未來保護整體的可能性也有了初步的想法.gov

進一步縮小:技術上可以為整個頂級域(例如“ .gov”)預載入 HSTS,就像 Google 第一次使用 .google. 作為一個相對較小的、集中管理的頂級域,也許有一天.gov可以到達那裡。

要了解目前情況,必須查閱Chromium HSTS 預載入列表

Chromium 的GitHub 鏡像上也提供了預載入列表;特別是原始版本最適合curlor wget。該列表是帶有註釋行的非標準JSON 。可以jq在刪除評論後使用 eg對其進行分析sed

在這裡,jq給出了預載入列表中的所有域名,並將其grep縮減為TLD

cat transport_security_state_static.json \
 | sed 's/^\s*\/\/.*//' \
 | sed '/^$/d' \
 | jq -r '.entries[]|select(.include_subdomains==true)|"\(.name)"' \
 | grep -P "^\.?[a-z]*\.?$" 

要搜尋公共後綴而不是 TLD:

cat transport_security_state_static.json \
 | sed 's/^\s*\/\/.*//' \
 | sed '/^$/d' \
 | jq '.entries[]' \
 | jq 'select((.policy=="public-suffix") and (.include_subdomains==true))' \
 | jq -r '"\(.name)"'

引用自:https://serverfault.com/questions/1067229