CA证书服务器(6) 利用CA证书配置安全Web站点

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

  前面讲了这么多理论知识,其实真要操作起来还是很简单的,下面我们就利用证书来实现一个安全的Web站点,也就是当客户端在访问网站时使用https实现数据加密传输。

    要实现这个功能,首先要了解一下SSL协议。

“SSL安全套接字层”是一套提供身份验证、保密性和数据完整性的加密技术,属于传输层的协议。准确点来说,SSL其实是一个位于应用层和传输层之间的协议,所以才称之为“套接字层”。

我们都知道在Web浏览器和Web服务器之间传输数据是使用HTTP协议,本来HTTP协议产生的数据是直接送给传输层的TCP协议,有了SSL这个套接字层之后,就要先送给SSL处理一下,然后再送给TCP,这也就称之为HTTPS(基于SSL的HTTP)协议。之所以要经过SSL先处理一下,其目的主要是为了能够在Web服务器和客户端之间建立一条安全通信通道,在这条安全信道中传输的数据都是经过加密的。

SSL安全信道的建立过程是:

  1. 首先客户端向服务器发出连接请求;

  2. 服务器把它的数字证书发给客户端;

  3. 客户端生成会话密钥(对称式加密),并用从服务器得到的公钥对它进行加密,然后通过网络传送给服务器;

  4. 服务器使用私钥解密得到会话密钥,这样客户端和服务器端就建立了安全通道。

在安全信道建立好之后,在客户端与服务器之间传输的数据都是采用对称式加密,以提高通信效率,而对称式加密的密钥是通过非对称式加密的方式传送的,以保证会话密钥的安全性。

Web站点启用SSL之后,客户端在访问网站时必须使用“https:\\……”的URL形式,默认使用的端口号也不再是TCP 80,而是变成了TCP 443。

为支持SSL通信,必须为Web服务器配置证书。下面是在Web服务器上申请证书并安装的过程。

1. 生成证书请求

打开之前创建的Web服务器,以域管理员身份登录。

选中服务器,然后在中间的面板中打开“服务器证书”,点击“创建证书申请”。

输入网站的相关数据,注意“通用名称”文本框中必须输入网站所用的域名,否则客户端在访问网站时,将提示证书错误。

选择证书的加密算法和密钥长度。其中的“位长”是指网站公钥的长度,位长越长,安全性越高,但性能越低。这里都采用默认值。

为证书申请指定文件名和保存路径。单击“完成”按钮,证书申请文件创建成功,该文件是一个文本文件,里面包含了所生成的证书申请编码。

2. 提交证书申请

证书申请创建完成之后,打开IE浏览器,在地址栏中输入http://192.168.1.2/certsrv/”,注意这里必须以域管理员的身份访问证书服务器,打开证书申请页面,点击“申请证书”,然后再单击“高级证书申请”。

选择使用base64编码申请证书。

将刚才生成的证书申请文件中的内部全部复制到“保存的申请”中,将“证书模板”选择“Web服务器”,点击“提交”按钮。

企业根CA会自动颁发证书,点击“下载证书”,并将证书保存到指定的位置。

3. 安装证书

回到IIS管理器的“服务器证书”界面中,点击“完成证书申请”。

找到刚才下载的证书,并为其起一个好记的名称。

至此,Web服务器证书申请并安装成功。

4. 绑定证书并启用SSL

证书安装完成之后,下面需要将证书绑定到网站之上。

选中默认站点,点击右侧的“绑定”。在“网站绑定”对话框中点击“添加”按钮,将类型设置为“https”,端口为默认的443SSL证书设置为刚才安装的“web”。点击“确定”按钮之后,证书就绑定好了。

然后打开“SSL设置”界面,勾选“要求SSL”:

这样,在客户机上如果用http方式访问网站,便会被拒绝:

只有使用https方式才可以正常访问网站。

当然,如果在“SSL设置”中不勾选“要求SSL”,则客户端既可以使用https也可以使用http方式访问web站点。

5. 虚拟目录启用SSL

大多数情况下,我们并不需要对整个网站都启用SSL,而是只需要对网站中的某个版块(如交易支付页面)启用SSL。这时可以只对Web站点中的某个虚拟目录启用强制SSL设置。

下面在Web站点中创建一个名为“pay”的虚拟目录,并对其设置启用强制SSL

编辑站点首页文件Default.htm

这样在客户端可以直接使用http方式访问网站,但是当要访问pay子目录时,就会自动启用SSL


本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1191833

相关文章
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
48 4
|
11天前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
21 2
|
24天前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
34 5
|
3月前
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
2月前
|
SQL 安全 网络安全
守护数字资产:服务器迁移期间的安全挑战与对策
【10月更文挑战第4天】在数字化转型的浪潮中,服务器迁移成为企业不可避免的任务。然而,迁移过程中的安全挑战不容忽视。本文从安全考量的角度,探讨了服务器迁移期间可能遇到的安全问题,并提供了相应的对策和代码示例。
70 3
|
2月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
47 3
|
3月前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
94 8
HAProxy的高级配置选项-Web服务器状态监测
|
2月前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
2月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
149 0
|
2月前
|
NoSQL Java 数据库连接
springBoot:整合其他框架&condition&切换web配置 (五)
本文档介绍了如何在Spring Boot项目中整合JUnit、Redis和MyBatis等框架,并提供了相应的依赖配置示例。同时,还展示了如何通过条件注解实现Bean的条件创建,以及如何切换Web服务器配置,从默认的Tomcat切换到Jetty。