DNS+HTTPDNS 實現 CNAME 展平 (CNAME Flattening)
本文將介紹如何使用 DNS (DNSPod) +HTTPDNS 實現 CNAME 展平 (CNAME Flattening)。一直以來,由於 CNAME 記錄和任何記錄衝突的獨有特性,導致一旦在根域使用 CNAME 解析,將導致其他記錄無法正常使用,影響 DS (DNSSEC)、MX (郵箱服務)、TXT (SPF、DKIM、DMARC、站長平臺驗證) 等記錄的使用,進而影響依賴這些記錄的相關服務(如括號內所示),而 CNAME 展平 (CNAME Flattening) 是解決這個問題的一種方法,但由於 DNSPod 本身不支持 CNAME 展平 (CNAME Flattening),所以本文將介紹如何使用 DNS+HTTPDNS 通過 API 調用的方式實現 CNAME 展平 (CNAME Flattening)。 爲確保能精準穩定的獲取到 CDN 等廠商提供的 CNAME 記錄所對應的解析 IP(調度結果),腳本需要使用 HTTPDNS 服務,HTTPDNS 服務可能產生對應的請求次數費用,具體費用請參考 HTTPDNS 計費說明。 前提條件 域名解析託管在...
記一次使用 fontTools 優化網頁字體(字體文件大小)
一直以來,本站使用的是 HarmonyOS Sans 字體,但由於中文字體文件過大(約 4.3 MB),導致網頁加載速度緩慢,不利於弱網環境下的訪問。因此,本文將介紹如何使用 fontTools 中的 pyftsubset 對網頁字體進行切片,以優化網頁字體文件大小。 安裝依賴使用前需要安裝 Python 3,fontTools 以及 woff2 安裝 Python 3Python3 一般系統都有自帶,如果沒有,可以使用以下命令安裝: 12# Debian/Ubuntuapt install python3 安裝 fontTools安裝完成後,使用以下命令安裝 fontTools: 123pip3 install fontTools# 在一些版本的 Debian/Ubuntu 系統中,可能需要使用以下命令apt install python3-fonttools 一些系統可能需要使用 pip 命令,具體可自行嘗試。 安裝 woff2在對字體文件進行切片後,需要將字體文件轉換爲 woff2 格式,因此需要安裝 woff2...
Nginx 編譯開啓 Quic 或 HTTP/3
隨着最近 Nginx-Quic 分支被合併到了 Nginx 主線,Nginx 1.25.0 版本官方二進制包已經支持 Quic/HTTP3,感興趣的朋友可以前往 https://nginx.org/en/download.html 或 https://nginx.org/en/linux_packages.html 下載安裝,體驗一下 Quic/HTTP3 的魅力,本文將主要爲您介紹如何通過編譯的方式開啓 Quic/HTTP3。 2024年11月10日更新:Nginx已將倉庫遷移至Github,因此刪除部分依賴,更新倉庫鏈接2024年04月11日更新:大部分系統下默認存在着www-data用戶組和www-data用戶,所以不再使用原來的www用戶和www用戶組進行編譯。2024年03月07日更新:最終使用 C++ 鏈接構建 Nginx,以解決 BoringSSL 編譯問題。2024年02月20日更新:通過在 Nginx 郵件社區討論得到了一個解決方案,可以將 libssl 構建爲共享庫來解決這個問題,詳見...
利用 Nginx 搭建 IP 查詢接口
本文將介紹如何利用純 Nginx 搭建 IP 地址查詢接口(只查詢 IP 地址,不查詢 IP 歸屬地),如果有查詢 IP 歸屬地的需求,可以參考另一位大佬的一篇文章 純 Nginx 打造 IP 地址查詢接口。 好久不見,這兩個月由於一些原因(考試、面試)一直沒有更新博客,今天終於有時間了,就趕忙來更新。用 Nginx 來獲取 IP 這個方法是去年 8 月份在處理DDNS Openwrt 插件無法更新 IP 的 case 時瞭解到的,當時插件裏獲取 IP 的接口 ns1.dnspod.net:6666 由於是早些年寫的一個程序僅支持 http/0.9 導致 DDNS 插件無法正常獲取 IP 地址,後面一位大佬改用 Nginx 來獲取 IP 地址,那次才知道 Nginx 原來還能這麼用,簡直是學藝不精哈哈哈。 安裝 Nginx 的方法就不介紹了,直接丟配置文件了。 文末有現成的,如果你不想自己搭建的話可以直接使用。 配置示例獲取...
騰訊雲建站 CloudPages 記錄(編輯網站)
這是一篇編輯網站操作記錄,完整的流程請參考 騰訊雲建站 CloudPages 快速構建您的企業網站,等有時間再錄個視頻哈哈哈哈。 操作記錄清空全部頁面和區塊由於沒有適合筆者的模板,所以筆者選擇了清空全部頁面和區塊,然後自己從頭開始搭建。 各種刪刪刪,清空爲止~ 添加區塊修改內容編輯導航欄更改logo,網站名稱,以及導航欄的菜單。 添加banner區塊頁面總要有一個頭圖,要不總感覺哪裏怪怪的,所以我們添加一個 banner 區塊,然後替換內容即可。 點擊添加區塊,選擇圖文通欄,並根據自己的需要選擇合適的版式: 添加完成後根據自己的需要修改區塊內容及樣式: 添加介紹區塊設置爲 Banner...
如何打造個性化的 DNS 服務器地址(用自己的域名作爲 DNS 服務器地址)
分類寫成教程了,其實就是閒談,平時我們如果注意觀察的話就會發現挺多大廠域名的 DNS 都比較有個性,比如 qq.com 這個域名的 DNS 服務器爲NS1.QQ.COM——NS4.QQ.COM,而我們自己的 DNS 服務器基本上就是千篇一律的f1g1ns1.dnspod.net/xxx.dnspod.net/dns(1-32).hichina.com/ns(1-8).alidns.com等等,那如何用自己的域名做域名 DNS 服務器地址讓我們的域名服務器看起來更個性化一些呢?答案就是貼牌(當然有能力你也可以自建)。所謂貼牌 DNS 就是使用解析廠商提供的解析服務,但是 DNS 服務器的域名,替換成你自己的,這個東西叫法比較多,包括像:貼牌 DNS/Vanity Nameservers/DNS Branding/Custom Nameservers/white-label name servers 等等,我比較喜歡 Vanity Nameservers...
使用華爲雲 DNS 拉平 CNAME 記錄(CDN 場景)
接上一篇文章使用 DNSPod 拉平 CNAME 記錄(CDN 場景)這篇文章將介紹如何使用華爲雲 DNS 拉平 CNAME 記錄(CDN 場景)。 操作場景本文將指導您如何使用華爲雲 DNS 的 API 實現拉平 CNAME 記錄,以解決相關記錄衝突的問題。 方法說明不再重複說明了,如有興趣請看使用 DNSPod 拉平 CNAME 記錄(CDN 場景) 前提條件 域名解析託管在華爲雲 DNS 項目地址https://github.com/KincaidYang/CNAMEFlattening 操作步驟獲取腳本Flame 版本該版本適用於騰訊雲 CDN、華爲雲 CDNIPv4 腳本: 1wget https://dl.0517ht.com/script/CNAMEFlattening/HuaweiCloud/Flame/Huaweicloud-Flame-IPv4.py IPv6 腳本: 1wget...
使用 DNSPod 拉平 CNAME 記錄(CDN 場景)
由於 CNAME 跟任何記錄都衝突的特性,在根域(@)下添加 CNAME 記錄指向 CDN(或其他服務)會導致 mx(郵箱記錄)、TXT(一些站長驗證)、DS 等常用記錄衝突等且多級 CNAME 會導致解析性能下降等問題,所以拉平是一個很不錯的解決方案。但目前 DNSPod 並沒有提供拉平的功能,所以需要自己寫腳本調用 API 實現。(本文以騰訊雲 CDN 爲例,但是其他 CDN 服務商也可以使用,替換腳本里面的 CNAME 域名即可。)PS:自2019年1月接觸互聯網行業以來一直在做運營相關的工作,本身也不是學計算機相關專業的,代碼寫的可能不是很好,歡迎大佬們指正。 操作場景本文將指導您如何使用 DNSPod 的 API 實現拉平 CNAME 記錄,以解決相關記錄衝突的問題。(以騰訊雲 CDN 爲例) 前提條件 域名解析託管在騰訊雲 DNSPod。 域名已綁定企業版或更高版本套餐。 方法說明流程圖實現的方法大體如上圖所示,獲取 CDN 在31個省份三大運營商的調度結果,然後將調度結果更新到 DNSPod 上。 相關說明 因本人海外訪問全部由 Cloudflare...
本站現已支持 HTTPS 記錄(Type65)
基於 DNSPod 提供的解析能力,本站現已支持 HTTPS 記錄 (HTTPS record) 即 Type65 記錄,截至發文時,該記錄相關規範仍在處理中,尚未最終確定,但已有部分廠商開始使用,如 CloudFlare、Apple 等。在 ios14 以後的版本上,系統會優先查詢 HTTPS 記錄,因此合理的配置 HTTPS 記錄可以有效的提升 ios 用戶的訪問體驗。其他瀏覽器如 Chrome 對該記錄的支持目前還處於試驗階段,可通過 chrome://flags/ 配置開啓。 記錄相關介紹HTTPS 記錄是一種新的 DNS 記錄類型,關於其詳細介紹請參閱:draft-ietf-dnsop-svcb-https-11。 配置方法由於該記錄仍在草案處理中,本文不再詳細介紹配置方法,具體可參見:設置 HTTPS 記錄。 相關測試1234567891011121314151617; <<>> DiG 9.16.30 <<>> 0517ht.com https;; global options:...
如何正確變更 DNSPod 解析套餐(降級場景)
操作場景本文將指導您如何完成 DNSPod 解析套餐的變更,適用於降級場景(將套餐由高版本改至低版本,如企業版更換爲專業版)。 前提條件 擁有需變更套餐域名的管理權限。 已購買其他版本套餐,若降級至免費版本,請忽略。 操作步驟將域名 DNS 服務器更改爲免費版本 說明:由於降級 DNS 套餐版本需要解綁當前套餐,解綁套餐後若域名 DNS 服務器仍爲原套餐版本的 DNS 服務器地址將導致域名無法解析;且受各地運營商遞歸 DNS 緩存影響,即使在變更套餐後及時修改域名 DNS 服務器地址爲當前版本套餐地址,也可能導致在 72 小時內出現解析異常等影響業務的情況。所以在變更套餐前請您將域名 DNS 服務器更換爲免費版本,以確保降級套餐不會影響正常解析。 獲取免費版本 DNS 服務器地址 登錄騰訊雲 DNSPod控制檯。 單擊 DNS解析,在我的域名頁面點擊需要變更套餐的域名。 進入後單擊域名設置並點擊查看免費版的 DNS 服務器。 記錄免費版本 DNS 服務器並前往域名註冊商將 DNS 服務器變更爲免費版本。 更改域名 DNS...