Domain-Name-System
如何為指向 Azure 上託管服務的子域創建 SPF 記錄
我有一個在 Azure 上執行的 webapp,並使用 Google Domains 作為域名 (mywebapp.com) 和 DNS。Azure 自動為不同的資源/服務生成 URL(例如:https://black-cat-12345.azurestaticapps.net>、<https://my-webapp-api.azurewebsites.net),我使用 CNAME 創建子域:
mywebapp.com A 3600 {Google IP} mywebapp.com MX 3600 {Google mail servers} mywebapp.com SPF "v=spf1 include:_spf.google.com ~all" login.mywebapp.com CNAME 3600 black-cat-12345.azurestaticapps.net api.mywebapp.com CNAME 3600 my-webapp-api.azurewebsites.net etc
我被告知強烈考慮為子域添加 SPF 記錄以防止郵件欺騙和網路釣魚電子郵件,但根據為一個子域添加 CNAME 和 TXT DNS 記錄,我在使用 CNAME 時不能有 SPF 記錄。我不知道如何實現這一目標。
如果我從不從子域發送郵件,並且沒有 MX 記錄,是否需要 SPF 記錄?
如果我應該添加 SPF 記錄,是通過將 CNAME 更改為 A 記錄來實現此目的的唯一方法嗎?我不能使用 Azure 資源/服務的底層 IP(例如:my-webapp-api.azurewebsites.net -> 52.175.36.249),所以我對想法持開放態度。
Azure Web App 支持自定義域,但在您使用免費 (F1) 層的情況下不支持。而不是使用 DNS 別名(又名 CNAME),正確的方法可能是使用另一個定價層並配置您的自定義域。
關於它的一些文件:
如果您的域不發送電子郵件,則不需要 SPF 記錄。
有一些方法可以幫助打擊來自子域/主機名的垃圾郵件,方法是為您創建的每個主機名使用 SPF 記錄
v=spf1 -all
(又名空 SPF 記錄),但這在很多應用程序中並不實用。如果您有帶有 MX 記錄的子域,那麼您需要為它們提供 SPF 記錄,否則在可行時創建空 SPF 記錄。