第二节:SSL证书的申请、配置(IIS通用)及跳转Https请求的两种方式
一. 相关概念介绍
1. SSL证书服务
SSL证书服务由"服务商"联合多家国内外数字证书管理和颁发的权威机构、在xx云平台上直接提供的服务器数字证书。您可以在阿里云、腾讯云等平台上直接购买、或者免费获取所需类型的数字证书,并一键部署在云产品中,以最小的成本将您的服务从HTTP转换成HTTPS,实现网站的身份验证和数据加密传输。
2. 什么是数字证书?
数字证书是一个经权威授权机构数字签名、包含公开密钥拥有者信息以及公开密钥的文件,是权威机构颁发给网站的可信凭证。最简单的证书包含一个公开密钥、证书名称以及证书授权中心的数字签名。
数字证书还有一个重要的特征:只在特定的时间段内有效。
3. 什么是SSL?
SSL协议是一种可实现网络通信加密的安全协议,可在浏览器和网站之间建立加密通道,保障数据在传输的过程中不被篡改或窃取。
4. 什么是SSL证书?
SSL证书采用SSL协议进行通信,是由权威机构颁发给网站的可信凭证。
SSL证书采用SSL协议进行通信。SSL证书部署到Web服务器后,Web服务器访问将启用HTTPS协议。您的网站将会通过 HTTPS 加密协议来传输数据,可帮助Web服务器和网站间建立可信的加密链接,从而保证网络数据传输的安全。
5. 什么是Https?
HTTPS是一种基于SSL协议的网站加密传输协议。
网站安装SSL证书后,使用HTTPS加密协议访问,可激活客户端浏览器到网站服务器之间的SSL加密通道(SSL协议),从而实现高强度双向加密传输,防止传输数据被泄露或篡改。HTTPS 也就是HTTP + SSL,是HTTP的安全版。
6. 什么是CA认证中心?
CA认证中心(CA机构),即证书授权中心(Certificate Authority),或称证书授权机构。
CA认证中心作为电子商务交易中受信任的第三方,承担公钥体系中公钥合法性检验的责任。
7. 应用场景
(1). 将用户网站服务由Http改为Https协议。
(2). CDN、SCDN、DCDN或SLB服务上使用HTTPS协议。
二. SSL证书申请
下面以阿里云平台为例,介绍SSL证书的申请。
1. 登录阿里云官网(https://www.aliyun.com/),进入SSL证书板块,并点击“立即购买”。

2. 这里有多种证书,我们选择免费版单域名证书的即可。(阿里云平台免费签发20个证书),然后立即购买→确认订单→购买成功→进入证书控制台。


3. 进入“证书控制台”,在“未签”模块会看到刚才购买的证书,点击申请,需要绑定域名(一旦绑定,则不能修改)。


注意:如果该域名不在该账户下,会进行提示,并且需要去域名所在的账户下进行一下DNS解析配置(配置完后,这边证书验证通过后,删掉这条解析记录即可)。

补充步骤:去域名所在的账户下进行DNS解析,解析完后,再去证书账户下继续,验证,验证成功,进入待审核状态。


4. 审核完成,下载对应版本的证书即可(IIS版本)


三. SSL证书的配置(IIS)
1. 开始→运行→输入"MMC",进入"控制台根节点"。


2. 选择菜单“文件”中的”添加/删除管理单元”-> “添加”,从“添加或删除管理单元”列表中选择“证书”,点击添加,进入证书管理单元,选择“计算机帐户”,点击下一步,进入“选择计算机”页面,选择"本地计算机",点击完成。


4. 回到最初MMC进入的控制台页面,依次进入:控制根节点→证书(本地计算机)→个人→证书,然后右键,选择所有任务→导入,进入证书导入页面。


5. 选中证书,输入密码,将证书导入即可。(此过程当中有一步非常重要: “根据证书内容自动选择存储区”)



导入成功,会在控制台页面显示。

6. 在IIS中绑定证书即可,默认的HTTPS请求为443端口,如果改成别的话,域名后面还需要跟着端口。

7. 大功告成,以HTTPS开头,访问该域名,正常访问。

四. 跳转Https请求的两种方式
背景:我们网站项目只想保留https请求,不想开放http请求,但有些老用户已经习惯了通过http的地址进行访问,针对这种情况,我们想达到效果是,以http的形式访问我们网站,会自动切换成https的。
方案一:
1. 在IIS上新建一个项目,eg:01-80Redirect,物理路径可以绑定一个空的文件夹,将域名 xxx.xxx.com绑到80端口上。

2. 删掉原项目上绑定的80端口,仅保留443端口。

3. 给01-80Redirect,配置【Http重定向】,重定向到:https://djdt.xxx.com$V$Q ($V$Q代表这个域名下的所有子文件都跳转),勾选:“将所有请求重定向到确切目标”,状态代码选择:“永久301”,进行保存,重启这两个项目。

4. 大功告成, 访问:http://djdt.xxx.com,直接跳转到:https//djdt.xxx.com
方案二:仅针对Asp.Net Core项目
1. 在ConfigureServices进行注册跳转到Https的端口,即:凡是Http请求该网站,都会以Https的方式跳转到该接口上。

2. 在Configure中进行管道拦截,进行https的跳转。

3. 发布项目,在IIS中进行端口设定,同时绑定Http请求和Https请求,https请求的绑定要使用上述代码中配置的端口,如下图,访问:http://localhost:8077, 会自动跳转到https://localhost:8088


!
- 作 者 : Yaopengfei(姚鹏飞)
- 博客地址 : http://www.cnblogs.com/yaopengfei/
- 声 明1 : 本人才疏学浅,用郭德纲的话说“我是一个小学生”,如有错误,欢迎讨论,请勿谩骂^_^。
- 声 明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
第二节:SSL证书的申请、配置(IIS通用)及跳转Https请求的两种方式的更多相关文章
- JAVA发送http GET/POST请求的两种方式+JAVA http 请求手动配置代理
java发送http get请求,有两种方式. 第一种用URLConnection: public static String get(String url) throws IOException { ...
- 阿里云申请免费SSL证书,并配置到Tomcat,实现https访问
第一步:阿里云免费https证书安装 https://jingyan.baidu.com/article/fdffd1f8619481f3e98ca196.html 第二步:阿里云申请免费SSL证书 ...
- 有了SSL证书,如何在IIS环境下部署https?【转载】
昨天各位小伙伴都很开心的领取了自己的SSL证书,但是大部分小伙伴却不知道如何部署,也许是因为第一次接触SSL这种高端的东西吧,不过个人觉得就是懒懒懒...本来小编也挺懒的,但是答应了各位小伙伴的,那么 ...
- ssl证书 以及phpstudy配置ssl证书
首先,确保你的Apache编译了SSL模块,这是支持SSL证书必要的条件(如果没有,请编译,[打开phpstudy]>[其他选项菜单]>[PHP扩展]>[php-openssl]前面 ...
- StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全
StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全 一.StartSSL个人证书登录申请 1.StartSSL官网: 1.官方首页:http://www.startssl.com/ 2 ...
- 国密SSL证书免费试用申请指南
沃通提供国密SSL证书免费申请试用服务,一次申请可同时签发SM2/RSA双算法证书,试用周期1个月,用于测试国密SM2 SSL证书的运行效果和SM2/RSA双证书部署效果. 试用产品:SM2/RSA双 ...
- Nginx配置同一个域名同时支持http与https两种方式访问
Nginx配置同一个域名http与https两种方式都可访问,证书是阿里云上免费申请的 server{listen 80;listen 443 ssl;ssl on;server_name 域名;in ...
- WCF服务使用(IIS+Http)和(Winform宿主+Tcp)两种方式进行发布
1.写在前面 刚接触WCF不久,有很多地方知其然不知其所以然.当我在[创建服务->发布服务->使用服务]这一过程出现过许多问题.如客户端找不到服务引用:客户端只在本机环境中才能访问服务,移 ...
- nginx开启ssl并把http重定向到https的两种方式
1 简介 Nginx是一个非常强大和流行的高性能Web服务器.本文讲解Nginx如何整合https并将http重定向到https. https相关文章如下: (1)Springboot整合https原 ...
随机推荐
- rocketmq广播消息
发布与模式实现.广播就是向一个主题的所有订阅者发送同一条消息. 在发送消息的时候和普通的消息并与不同之处,只是在消费端做一些配置即可. Consumer消息消费 public class Broadc ...
- The xp_cmdshell proxy account information cannot be retrieved or is invalid. Verify that the '##xp_cmdshell_proxy_account##' credential exists and contains valid information.
In one of our recent migrations, we got the following error when the client tried to fire xp_cmdshel ...
- 《单元测试之道Java版》的读书笔记
总览 第2章 首个单元测试 第3章 使用JUnit编写测试 3.1 构建单元测试 3.2 JUnit的各种断言 3.3 JUnit框架 4. 测试什么? 5.CORRECT(正确的)边界条件 6.使用 ...
- python接口自动化-session_自动发文
一.session简介 查看 requests.session() 帮助文档(只贴了一部分内容) import requests help(requests.session()) class Sess ...
- [已解决]ValueError: row index was 65536, not allowed by .xls format
报错: ValueError: row index was 65536, not allowed by .xls format 解决方案: xlrd和xlwt处理的是xls文件,单个sheet最大行数 ...
- MySQL存储引擎简单介绍
MySQL使用的是插件式存储引擎. 主要包含存储引擎有:MyISAM,Innodb,NDB Cluster,Maria.Falcon,Memory,Archive.Merge.Federated. 当 ...
- UML在代码中的展现
依赖:一个类使用了另外一个类,这种关系是临时的.脆弱的. 如人需要过河,需要船,这时人.过河(船) 中船被当做参数传入,船的实现变化会影响过河方法. 聚合:体现是整体与部分.has-a的关系 ...
- subgradients
目录 定义 上镜图解释 次梯度的存在性 性质 极值 非负数乘 \(\alpha f(x)\) 和,积分,期望 仿射变换 仿梯度 混合函数 应用 Pointwise maximum 上确界 suprem ...
- ExcelPower_Helper插件下载与更新日志
ExcelPower_Helper插件下载.功能简述与演示 ExcelPower_Helper最新版本为:0.4.5,截止到目前为止. 下载地址: 链接:https://pan.baidu.com/s ...
- AngularJS路由变化 监听方法
#使用AngularJS时,当路由发生改变时,我们需要做某些处理,此时可以监听路由事件,常用的是$routeStartChange, $routeChangeSuccess ##使用场景:在路由配置文 ...