编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写。

随着身份盗窃和各种形式的网络犯罪迅速增多,使用安全套接字层 (SSL) 对网站进行保护变得越来越重要和普遍。如果将网站托管在 Windows Azure 网站 (WAWS) 上,您可能想将其设置为使用 HTTPS。在本指南中,我们将了解如何完成此过程。

此过程的第一步似乎是获取数字证书...对吧?嗯,好像不是。实际上第一步应该确定您是想拥有自己的自定义域,还是使用 Azure 的默认域
Azurewebsites.net 来运行您的站点。之所以这是第一步,是因为 Windows Azure 网站实际上已预先配置为可在 SSL 上运行。如果您不需要使用自己的域,可以立即使用 SSL。您只需通过SSL地址浏览您的网站即可!在浏览器中,将前缀由
HTTP:// 更改为 HTTPS://。瞧!您的站点将作出响应,并且您将与其建立安全连接。但是,建议不要使用此方法来保护敏感的内容或应用程序,因为它所使用的通配证书对所有 Azure 网站均通用。

如果您要在自己的域中使用 SSL,则需要执行几个额外的设置步骤。在执行任何操作之前,需注意的是,仅标准收费模式中的站点才支持在自定义域中使用 SSL。如果您的站点目前处于免费模式或共享模式,您必须切换到标准模式,这将需要额外收费。请参阅我们的定价指南
Azure
计算器
以了解预期成本。

在您选择域并设置要使用该域的站点后,下一步是获取与您的域匹配的数字证书。在购买证书时,您具有 3 个选项:

1. 购买一个匹配您的网站 URL 的简单证书。这是最便宜的选项,一年只需支付 8 美元,可以在诸如
https://www.thesslshop.com的商店中购买。

2.购买 SAN(Subject Alternative Name)证书。SAN 证书可与同一个域下的多个 URL 相匹配,是适用于拥有多个网站的公司的经济解决方案。您无需购买多个证书(分别为每个 URL 购买一个证书),而是购买一个可用于多个 URL 的证书,并且需支付的金额将少于需为多个证书支付的金额。

3. 购买通配证书。此证书可与您域中的任何子域相匹配。虽然此证书是最贵的一种证书,但是对于拥有许多网站的公司而言,它是最经济的选项。例如,如果贵公司拥有 30 个网站,那么购买一个通配证书需支付的金额(79 美元)将远低于购买 30 个简单证书需支付的金额(240 美元)。

要购买证书,您将需要选择提供商,并执行特定过程来生成 PFX 文件形式的证书。我们在这篇文章中介绍了此过程。

拥有证书之后,启用 SSL 就相当简单了。具体步骤如下:

第 1 阶段:将您的网站切换为 Standard。

在进行此切换之前,您可能需要考虑取消以前设置的支出限额。虽然这并不是必需的,但是通常不会在具有支出限额的情况下运行商业网站,因为如果达到您设置的限额,您的网站在下一个计费周期之前将处于离线状态。将站点切换为
Standard 的步骤如下:

1. 登录到 Azure 管理门户

2. 单击您的网站

3. 切换到 Scale 选项卡

4. 在 General 下,单击 Standard 按钮将站点切换为 Standard 状态。

5. 单击 Save

第 2 阶段:配置 SSL

要配置 SSL,您需要上传证书并将其绑定到您的站点。具体步骤如下:

1. 登录到 Azure 管理门户

2. 单击您的网站

3. 切换到 Configure 选项卡

4. 在 Certificate 部分中,单击
Upload a certificate




5. 上传证书的 PFX 文件,并为其指定密码(您应该已在将证书导出至 PFX 时创建了密码)

6. 在 SSL Binding 下,从下拉列表中选择您的自定义域。如果您尚未配置自定义域,请单击此处阅读有关如何执行此操作的说明



7. 从下拉列表中选择相关证书(当前您仅拥有一个证书,但以后可能会拥有更多证书)

8. 在第 3 个下拉列表中,您可以选择启用或禁用 SNI。通常情况下,您会希望使用
SNI,但是如果您预期将有版本很低的浏览器(Windows XP 或更低)访问自己的网站,请选择 IP Based SSL。如果查看
SSL
定价
,您将发现使用 SNI 也是一种很经济的方式。

9. 单击 Save

运气好的话,现在就大功告成了,您的站点现在将对发送到 HTTPS 的请求做出响应。

有问题?

您可能会遇到的最常见问题是无法将证书上传到 Azure。在以前的博客文章中,我们讨论了如何获取证书,借此机会要提醒您的是,证书必须是已导出的
PFX 证书,而不是您从证书提供商获得的文件(即使它也是 PFX 文件形式)。这是因为,要将证书分配到网站,Azure 必须具有与该证书关联的私钥。证书生成过程从您的计算机开始,首先创建私钥,然后由您的证书提供商进行匹配。需将提供商返回给您的文件导入到最初发出请求的计算机,然后将生成“完整”的证书。如果您尝试上传由提供程序提供的文件,该文件不会为 Azure 提供私钥,这将导致证书无效。

此问题也可能表现为未正确地将证书导出到 PFX。导出中必须包含私钥(这就是为什么您需要在此过程中指定密码的原因),并且如果您在执行导入时忘记选中该框,将无法导出。

使用证书时的另一个常见问题是,当用户尝试浏览到站点时,浏览器会显示某种安全警告。当浏览器不认可证书时就会发生这个情况,针对该情况不同浏览器被设计为提供不同的响应。某些浏览器只是显示一条警告,其他浏览器则可能会完全阻止此站点。导致出错的最常见原因是 URL 不匹配。证书是针对特定 URL 颁发的,如果实际 URL 不匹配,则会形成潜在的安全风险。哪怕是一个拼写错误就可能会毁掉您一整天的工作,因此务必谨慎。

导致浏览器显示安全警告的一个更常见的原因是证书不受信任。证书通常由商业提供商颁发和出售,并且所有现代操作系统都预先配置了所有主要商业提供商的根证书。但是,如果您是从私有证书颁发机构(例如由一些私人组织或您自己的公司拥有的 CA 服务器)颁发的证书,证书将不受信任,并会导致错误。Azure 网站不支持使用私有证书,因此,如果您要在不购买证书的情况下使用 SSL,可以转为使用自签名证书。

如上所述,默认情况下将支持所有主要商业提供商,但是您可能会偶尔遇到在其信任链中使用中间证书的提供商。一些证书提供商已将其证书路径分为 2 个部分,因此您的证书将不由根 CA 颁发,而是由较低级别的“中间”服务器(受提供商根的信任)颁发。在这种情况下,证书可能会导致客户端浏览器发出警告,这意味着需要随您的证书一起上传提供商所颁发的中间证书。当您将证书导出到 PFX 中时,应在其中包括整个链,并且默认情况下此选项已启用:

但是,如果您取消选中该选项,或者以其他不包含证书路径的方式导出,可能会导致一些提供商出现问题。如果不能确定,建议您重新执行导出,并确保选中此选项。

本文翻译自:

http://blogs.msdn.com/b/windowsazure/archive/2013/12/13/securing-your-windows-azure-web-sites-waws-with-https-and-ssl.aspx

通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全的更多相关文章

  1. 最佳实践:Windows Azure 网站 (WAWS)

     编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Sunitha Muthukrishna 撰写. Windows Azure 网站 (WAWS) 允许您在 Windows ...

  2. Windows Azure 网站 (WAWS) 和中间证书

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站上使用 SSL 已经司空见惯.虽然向网站上传和分配证书通常简 ...

  3. 获取证书以用于 Windows Azure 网站 (WAWS)

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 近年来,随着网络犯罪的上升,使用 SSL 保护网站逐渐成为一项备受追捧的功能,Windows A ...

  4. Windows Azure 网站 (WAWS) 中的服务器端包含 (SSI)

     编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Erez Benari 撰写. Windows Azure 网站客户普遍关心的一个问题是关于我们对服务器端包含(Server ...

  5. 在 Windows Azure 网站 (WAWS) 上对 Orchard CMS 使用 Azure 缓存

    编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Sunitha Muthukrishna 撰写. 如果您当前的 OrchardCMS 网站在 Windows Azure 网站 ...

  6. 在 Windows Azure 网站中进行纵向扩展和横向扩展

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Byron Tardif 撰写. 当您开始一个新的 Web 项目,或者刚刚开始开发一般的网站和应用程序时,您可能希望从小处着手. ...

  7. Windows Azure 网站开发Stacks支持

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理 Daria Grigoriu 和 Windows Azure 网站开发人员体验合作伙伴共同撰写. Windows Azure 网 ...

  8. 进一步探索:Windows Azure 网站中解锁的配置选项

     编辑人员注释: 本文章由 Windows Azure 网站团队的项目经理 Erez Benari 撰写. 在 Windows Azure 网站 (WAWS) 中管理网站时,许多选项可使用 Azu ...

  9. Windows Azure 网站自愈

    编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Apurva Joshi 撰写. 您有多少次在半夜被叫醒去解决一个仅需重新启动网站即可解决的问题?要是可以自动检测一些状况并自动恢 ...

随机推荐

  1. php随机10-thinkphp 3.1.3 模板继承 布局

    8.25 模板继承 模 板继承是3.1.2版本添加的一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层.模板继承其实并不难理解,就好比类 的继承一样,模板也可以定义一个 ...

  2. 使用phpQuery实现批量文件处理

    能够将置顶文夹下的指定类型文件进行处理 <?php header('Content-Type:text/html;Charset=utf-8'); include './phpQuery/php ...

  3. MFC内部结构剖析

    //////////////////////////////////////////////////////////////////////////////////////////MFC程序的执行顺序 ...

  4. Uva 511 Updating a Dictionary

    大致题意:用{ key:value, key:value, key:value }的形式表示一个字典key表示建,在一个字典内没有重复,value则可能重复 题目输入两个字典,如{a:3,b:4,c: ...

  5. Vijos P1740聪明的质检员

    题目 描述 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n个矿石,从1到n逐一编号,每个矿石都有自己的重量wi以及价值vi.检验矿产的流程是:1.给定m个区间[Li,Ri]:2. ...

  6. poj 1200 Crazy Search(hash)

    题目链接:http://poj.org/problem?id=1200 思路分析:从数据来看,该题目使用线性时间算法,可见子串的比较是不可能的:使用hash可以在常数时间内查找,可以常数时间内判重, ...

  7. COM组件

    COM组件   COM component(COM组件)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样的功能专一的组件,然后 ...

  8. 典型c库函数的实现

    StrToInt:字符串转int输出 enum Status { kValid = , kInvalid = , }; int StrToInt(const char* str) { g_nStatu ...

  9. 虚拟rethat联网问题

    近日在vmware虚拟了一台rethat的linux,但是使用桥连也上不了网! 宿主机是win7,由于在公司,是采用固定ip上网的,通过上网查资料,终于可以连接网络了: 步骤如下: 第一:修改vi / ...

  10. Java Project部署到Tomcat服务器上

    所有的JAVA程序员,在编写WEB程序时,一般都通过工具如 MyEclipse,编写一个WEB Project,通过工具让这个WEB程序和Tomcat关联.其实在我们可以通过JAVA程序部署到Tomc ...