我在 Azure 上运行了一个 Web 应用,并使用 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),因此我愿意听取意见。
答案1
Azure Web App 支持自定义域,但如果您使用的是免费 (F1) 层,则不支持。正确的方法可能是使用另一个定价层并配置您的自定义域,而不是使用 DNS 别名 (又名 CNAME)。
一些关于它的文档:
答案2
如果您的域名不发送电子邮件,则不需要 SPF 记录。
有一些方法可以帮助打击来自您的子域/主机名的垃圾邮件,即对您使用值创建的每个主机名使用 SPF 记录v=spf1 -all
(又名空 SPF 记录),但这在很多应用程序中并不实用。
如果您的子域名带有 MX 记录,则需要为它们设置 SPF 记录,否则在实际情况下创建空 SPF 记录。