如何为指向 Azure 上托管的服务的子域创建 SPF 记录

如何为指向 Azure 上托管的服务的子域创建 SPF 记录

我在 Azure 上运行了一个 Web 应用,并使用 Google Domains 作为域名 (mywebapp.com) 和 DNS。Azure 会自动为不同的资源/服务生成 URL(例如:https://black-cat-12345.azurestaticapps.nethttps://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 记录。

相关内容