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月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
70 3
|
3月前
|
Java PHP
PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。理解其垃圾回收机制有助于开发高效稳定的PHP应用。
【10月更文挑战第1天】PHP作为广受青睐的服务器端脚本语言,在Web开发中占据重要地位。其垃圾回收机制包括引用计数与循环垃圾回收,对提升应用性能和稳定性至关重要。本文通过具体案例分析,详细探讨PHP垃圾回收机制的工作原理,特别是如何解决循环引用问题。在PHP 8中,垃圾回收机制得到进一步优化,提高了效率和准确性。理解这些机制有助于开发高效稳定的PHP应用。
61 3
|
5月前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
260 0
|
5月前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
54 0
|
3月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
213 3
|
1月前
|
前端开发 安全 JavaScript
2025年,Web3开发学习路线全指南
本文提供了一条针对Dapp应用开发的学习路线,涵盖了Web3领域的重要技术栈,如区块链基础、以太坊技术、Solidity编程、智能合约开发及安全、web3.js和ethers.js库的使用、Truffle框架等。文章首先分析了国内区块链企业的技术需求,随后详细介绍了每个技术点的学习资源和方法,旨在帮助初学者系统地掌握Dapp开发所需的知识和技能。
2025年,Web3开发学习路线全指南
|
2月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
232 45
|
2月前
|
存储 前端开发 JavaScript
如何在项目中高效地进行 Web 组件化开发
高效地进行 Web 组件化开发需要从多个方面入手,通过明确目标、合理规划、规范开发、加强测试等一系列措施,实现组件的高效管理和利用,从而提高项目的整体开发效率和质量,为用户提供更好的体验。
44 7
|
2月前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
|
2月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
52 2