云计算 频道

文图实战:在Windows Azure中处理邮件

  自定义域和CDN

  如果你想使用邮件验证机制,如 SendGrid 的白签( whitelabel )功能(包括域名密钥),必须为你的应用程序使用自定义域名,这是因为这些功能需要你能为你的域修改DNS,我决定不使用这些功能,但我仍然决定要使用一个自定义域名 content.emailtheinternet.com 。

  此外,Windows Azure CDN也是一项非常棒的服务,通过它可以让应用程序访问提速,我决定开启这项服务。

  第1步:给 EmailTheInternet.com 创建CNAME记录

  使用Windows Azure应用程序创建自定义域名非常简单,只需要去域名注册商控制面板创建一个从 emailtheinternet.com 到www. emailtheinternet.com 的域名转发即可。

自定义域和CDN

  图 3 设置域名转发

  然后我再增加一个CNAME记录, 将“www”映射到 emailtheinternet.cloudapp.net (我从Windows Azure获得域名)。

自定义域和CDN

  图 4 将“www”映射到 emailtheinternet.cloudapp.net

  最后,我想让邮件正确地路由,需要再增加一个MX记录,也映射到 emailtheinternet.cloudapp.net 。

自定义域和CDN

  图 5 增加MX记录

  第2步:为存储账号开启CDN

  为存储账号添加一个CDN端点就如点击一个按钮般简单,点击“启用CDN”按钮,就获得一个常规CDN端点( az2919.vo.smecnd.net )。

自定义域和CDN

  图 6 启用CDN

  第3步:为CDN端点增加自定义域名

  为存储账号或CDN端点增加一个自定义域名的过程是相同的,首先点击“管理”,进入CDN端点,输入自定义域名。

自定义域和CDN

  图 7 输入自定义域名

  然后点击“生成密钥”按钮,这是我获得自定义域名验证的第一步。

自定义域和CDN

  图 8 生成的密钥信息

  根据上图给出的指示,我增加了一条CNAME记录, 将生成的域名映射到 verify.azure.com 。

自定义域和CDN

  图 9 将生成的域名映射到 verify.azure.com

  然后我返回门户,想通过点击来验证域名是否生效,下图显示了生效的自定义域名。

自定义域和CDN

  图 10 生效的自定义域名

  自定义域名生效后,我再次回到域名注册商的控制面板, 将“ content ”CNAME映射到CDN端点 。

自定义域和CDN

  图 11 将“ content ”CNAME映射到CDN端点

  你可能在上面的代码中发现我调用了一个叫做 Utility.GetCdnUrlForUri() 的方法,这个方法把Blob URI转换成使用CDN主机,我将其当作一个配置设置存储起来了。

    public static string GetCdnUrlForUri(Uri uri)
    {
        var builder
= new UriBuilder(uri);
        builder.Host
= RoleEnvironment.GetConfigurationSettingValue("CdnHostName");
        return builder.Uri.AbsoluteUri;
}
0
相关文章