编辑人员注释:本文章由 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. eclipse导出doc文档

    选中需要导出的项目, 1 点击eclipse上面的Project,选择Generate javadoc..., 2 然后配置 javadoc command,比如我本地的路径为: C:\Program ...

  2. HTTP status codes

    响应码由三位十进制数字组成,它们出现在由HTTP服务器发送的响应的第一行.响应码分五种类型,由它们的第一位数字表示:1.1xx:信息,请求收到,继续处理2.2xx:成功,行为被成功地接受.理解和采纳3 ...

  3. 第二节 EAN 8 码 / EAN 13 码

    EAN码的全名为欧洲商品条码(European Article Number),源於西元1977年,由欧洲十二个工业国家所共同发展出来的一种条码.目前已成为一种国际性的条码系统.EAN条码系统的管理是 ...

  4. Qt+SQLite数据加密的一种思路(内存数据库)

    了解Qt是比较早的,可是一直没有耐心去做一个练习.近期花了差不多两周时间做了次Qt开发练习,基本完成了Qt的入门,逃脱微软平台又迈出了几小步.Qt虽然是C++的,但开发应用是比较方便的,我觉得它在界面 ...

  5. Android 一个改进的okHttp封装库

    一.概述 之前写了篇Android OkHttp完全解析 是时候来了解OkHttp了,其实主要是作为okhttp的普及文章,当然里面也简单封装了工具类,没想到关注和使用的人还挺多的,由于这股热情,该工 ...

  6. 《Python学习手册》

    读书笔记请见Github博客:http://wuxichen.github.io/Myblog/reading/2014/10/04/LearningPython.html

  7. Windows failed to start.界面下修复win8引导

    首先要保证 系统本身是没有问题的 不是在装机的时候出现这种情况 那么可以按照以下方法来进行 首先要在另外一台电脑上将win8刻进u盘 启动时以u盘为第一启动项启动 进入win8装机界面 点击左下角的修 ...

  8. POJ3318【随机化算法挺有意思】

    题目链接:http://poj.org/problem?id=3318 http://meizhe143.blog.163.com/blog/static/3893836200710299512136 ...

  9. CUDA samples 2.3节 用CUDA示例来创建CUDA项目

    2.3.1. Creating CUDA Projects for Windows 略 2.3.2  Creating CUDA Projects for Linux 默认的samples的安装路径 ...

  10. git 解决冲突的办法

    在项目中使用git管理,冲突是在所难免的.假设没办法解决冲突,能够试试这个办法. 第一步.对project进行备份,最好是复制到其它目录中 第二步.在cmd命令栏上,进入到project文件夹下.这里 ...