通过 HTTPS 和 SSL 确保 Windows Azure 网站 (WAWS) 安全

编辑人员注释:本文章由 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://www.cnblogs.com/new0801/p/6176317.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql之多表查询

今天在项目中遇到一个数据库查询的问题:三张表分别放置不同的东西:分享的音频相关数据、分享的文字图片说说、分享的主题相关数据。所有分享的东西都可看做新鲜事,现在要求从这三张表将相同的几个字段的数据全部查找出来按照发布时间先后排序…

设立SharePoint2010列表的项目级权限

设置SharePoint2010列表的项目级权限 在SharePoint2010中我们经常会用到这样的权限设置,在一个列表中可以存储多个人输入的数据,但每个人只能看到自己的那部分数据。也就是多个人共同维护一个列表,但各自只能查看、编辑、删除自己录入的那部分…

二叉树第i层中的所有结点_讲透学烂二叉树(二):图中树的定义amp;各类型树的特征分析...

日常中我们见到的二叉树应用有,Java集合中的TreeSet和TreeMap,C STL中的set、map,以及Linux虚拟内存的管理,以及B-Tree,B-Tree在文件系统,都是通过红黑树去实现的。虽然之前写过《再谈堆排序:堆…

mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)

首先建立.net Core API - empty 这个就不说了然后创建新的Controller记得添加路由[Route("api/Users")]然后在Nuget Packages安装 所需安装包这里是用mysql所以下载如下的mysqlSugarCore(切记不要忘记安装Mysql.Data)创建实例化class文件DbText.cs用于连接数据库&…

关于eclipse的indigo版中文注释时字体太小的问题(转)

eclipse目前最新版代号indigo, 在win7上使用时中文注释时字体太小的问题. 为什么会这样? 首先我们应该知道, 在win7系统中, font是有"显示"和"隐藏" 状态的. 默认情况下, eclipse使用的默认字体courier new是处于 "隐藏"下的. 这样当eclipse打开…

centos 多个mysql数据库_CentOS6.5 一台服务器同时安装多个Mysql数据库

建用户与组groupadd mysqluseradd -g mysql mysql下载源码:wget https://downloads.mariadb.org/interstitial/mariadb-10.1.10/source/mariadb-10.1.10.tar.gztar -xvf mariadb-10.1.10.tar.gz1、编译:cmake . -DCMAKE_INSTALL_PREFIX/var/lib/mysql33…

linux ll 文件大小单位_该如何改善 Linux 系统性能?

系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段。ulimit 是一种 linux 系统的内键功能,它…

深入Javascript中apply、call、bind

最近在看一下node package的源码,发现很多里面都包含了function这个对象的apply、call、bind这三个方法,于是想拿出来再看看。。 apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context&#x…

优秀案例!教您如何设计现代简约风格网页

我们看到越来越多的设计师开始拥抱简约的网站设计方法,消除网站不必要的元素,保留真正重要的内容,干净、直观的设计,就像今天的我们将展示的这些网站。 下面是一组不同风格的简约设计的网站例子,美丽的导航、整洁的菜单…

数据分页和使用存储过程的数据分页

--使用存储过程的数据分页 --pageSize 一页有多少条 --pageIndex 第几页 --totalCount 总共有多少条 --分页的第一种方法 select top(10) * from Ams_Area where ar_id not in ( Select top(0) ar_id from Ams_Area order by ar_id ) order by ar_id --分页的第二种方…

NavMeshAgent 动态加载障碍物

如果你想让游戏人物绕开一些物体, 这些物体动态生成出来的.只需要给物体添加NavMeshObstacle组件即可 1. 绿色方块添加NavMeshObstacle组件 2. 红色方块没有添加NavMeshObstacle组件,被小球穿透了%>_<% 转载于:https://www.cnblogs.com/plateFace/p/4385629.html

多任务 schedule python_Python3.6 Schedule 模块定时任务 (实例讲解)

Python3.6 Schedule 模块定时任务 (实例讲解)Python 是一种面向对象解释型计算机程序设计语言, 由 Guido van Rossum 于 1989 年底发明, 第一个公开发行版发行于 1991 年 Python 语法简洁而清晰, 具有丰富和强大的类库它常被昵称为胶水语言, 它能够把用其他语言制作的各种模块 …

UVa 11468 (AC自动机 概率DP) Substring

将K个模板串构成一个AC自动机&#xff0c;那些能匹配到的单词节点都称之为禁止节点。 然后问题就变成了在Tire树上走L步且不经过禁止节点的概率。 根据全概率公式用记忆化搜索求解。 1 #include <cstdio>2 #include <cstring>3 #include <queue>4 using name…

css 伪元素分享!!!

最近接触到的css 伪元素觉得还算不错 分享下&#xff1a; 1、清楚内盒浮动设置&#xff1a; .back_list ul{padding:12px 0 0 12px;zoom:1;} .back_list ul:after{clear: both;content: ".";display: block;height: 0;visibility: hidden;}/*清楚内盒浮动设置*/ 2、伪…

蓝桥杯 花朵数

一个N位的十进制正整数&#xff0c;如果它的每个位上的数字的N次方的和等于这个数本身&#xff0c;则称其为花朵数。 例如&#xff1a; 当N3时&#xff0c;153就满足条件&#xff0c;因为 1^3 5^3 3^3 153&#xff0c;这样的数字也被称为水仙花数&#xff08;其中&#xff0…

ROC曲线【转】

ROC曲线&#xff08;Receiver Operating Characteeristic Curve&#xff09;是显示Classification模型真正率和假正率之间折中的一种图形化方法 解读ROC图的一些概念定义&#xff1a; 真正&#xff08;True Positive , TP&#xff09;被模型预测为正的正样本 假负&#xff08;F…

java eclipse oxygen_Eclipse Java Oxygen配置Tomcat

eclipse oxygen 配置tomcat 9.0第一步 装上eclipse的EE插件因为我以前学习java都是用eclipse oxygen的se版本&#xff0c;所以并不支持j2EE&#xff0c;所以第一步&#xff0c;就是要先把它升级为EE版本。有两种方法供我们选择。重新安装eclipse的EE版本。安装eclipse的EE插件。…

java 数组处理_JAVA操作数组

使用 Arrays 类操作 Java 中的数组Arrays 类是 Java 中提供的一个工具类&#xff0c;在 java.util 包中。该类中包含了一些方法用来直接操作数组&#xff0c;比如可直接实现数组的排序、搜索等Arrays 中常用的方法&#xff1a;1、 排序语法&#xff1a; Arrays.sort(数组名);可…

java拆装_JAVA线性表拆解

线性表(List)是一种线性结构。其特点是数据元素直线的线性关系。1.线性表抽象类定义public abstract class AbsList implements Iterable&#xff0c;List{protected int length;abstract public T get(int i); //返回第i(i≥0)个元素abstract public boolean set(int i, T x);…

【BZOJ】【1041】【HAOI2008】圆周上的点

数学 orz hzwer 完全不会做…… 很纠结啊&#xff0c;如果将来再遇到这种题&#xff0c;还是很难下手啊…… 引用题解&#xff1a; 【分析】&#xff1a; 样例图示&#xff1a; 首先,最暴力的算法显而易见&#xff1a;枚举x轴上的每个点&#xff0c;带入圆的方程&#xff0c;检…