第二节: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原 ...
随机推荐
- 【工作分解法】IT人,你的工作“轻松”么?
一.前言 假如读者是一个老板,下面有两位员工,工作难度一样,完成量一样,人品和责任心也一样.一位每天加班加点,废寝忘食的工作:而另外一位每天在座位上喝着咖啡,非常的轻松自如的工作.您会更器重哪一位? ...
- 分布式缓存Redis集群配置使用
Redis 简介 redis是一种开源的.基于内存的.可持久化的.高性能的Key-Value数据存储系统. redis能做什么? 持久化存储 高速缓存 消息中间件 ...
- python接口自动化-json数据处理
前言 有些post的请求参数是json格式的,需要导入json模块进行处理,json是一种数据交换格式,独立于编程语言 一般常见的接口返回数据也是json格式的,我们在做判断的时候,往往只需要提取其中 ...
- windows 10 防火墙设置规则:允许特定ip端口
本例中以如何设置ip为10.242.62.239的电脑通过3306端口访问我的电脑 为例 1, 打开防火墙高级设置,如图所示,操作如下 入站规则->新建规则->自定义->下一步 2, ...
- 记一次在咸鱼上购买 MacBook Pro 的经历
前言 以前一直用的是 windows 的,但是最近特别想买个 macOS 的.其实不是为了其他什么目的,只是涉及到开发 macOS更接近 linux 系统,一直没使用过所以就想尝试体验下,而且现在很多 ...
- C语言之各个位数上的数值之和
#include<stdio.h> #include<stdlib.h> void main() { int num; ; int x,y; printf("请输入一 ...
- Docker版本与安装介绍
Docker版本与安装介绍 Docker-CE 和 Docker-EE Centos 上安装 Docker-CE Ubuntu 上安装 Docker-CE Docker-CE和Docker-EE Do ...
- kettle变量(var变量)
设置变量/set varibale 1.定义变量(子转换): 原始数据 设置获取变量:点击获取字段,自动获取变量名称和字段名称 引用变量: 输出: kettle.properties 文件存储在.ke ...
- Msi中文件替换
转自https://blog.csdn.net/davidhsing/article/details/9962377 ※说明:目前可以用于MSI编辑的软件很多,但是有些软件在保存时会在MSI文件中写入 ...
- mac 下 clang++ 找不到头文件 stdlib.h
因为要用 openmp库,用 clang++ 编译 c++程序,出现了如下报错: clang++ xx.cpp -o xx -fopenmp /usr/local/Cellar/llvm/7.0.0/ ...