HTTPS简介 申请免费SSL证书 http升级https的部署

1.HTTPS是什么?

HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。(转至百度百科)

2.HTTPS和HTTP的区别

超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。

为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。

HTTPS和HTTP的区别主要为以下四点:

一、https协议需要到CA(Certificate Authority)申请证书,一般免费证书很少,需要交费。

二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。

三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。(转至百度百科)

简单来说就是 HTTP+加密+认证+完整性保护=HTTPS

3.免费证书

一般阿里云,腾讯云都是有免费证书的,以阿里云举例,在控制台(SSL证书(应用安全))菜单中右上角点击购买证书,选择免费型DV SSL,进行购买,实际支付0元。

购买完成后,回到SSL证书(应用安全)页面,找到刚刚购买的未签发的证书,点击申请,填写好绑定域名,申请人后,CSR生成方式选择系统生成,然后会要求验证,如果域名和服务器(或者虚拟主机)都是阿里云的话,则全部自动就ok了。

等审核通过后,在已签发的标签中就多出一个证书信息,服务器需要下载,根据右侧弹出服务器类型进行下载,可根据帮助文档进行部署。

虚拟主机的话直接在主机的管理中心里,找到域名管理-->域名绑定中,绑定好域名之后在强制HTTPS加密访问选择开启即可。

4.iis的https配置

使用URL重写模块,默认iis是没有安装此模块的,需要自行下载

中文32位:http://download.microsoft.com/download/4/9/C/49CD28DB-4AA6-4A51-9437-AA001221F606/rewrite_x86_zh-CN.msi

中文64位:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi

英文:https://www.iis.net/downloads/microsoft/url-rewrite,下载安装完成之后会发现IIS界面多了个URL重写的组件

双击URl重写,点击添加规则

名称随便填写,我这里填写为HTTP to HTTPS redirect,模式填写 (.*)

条件添加2个

操作栏中,操作类型选择重定向,重定向url填写https://{HTTP_HOST}/{R:1} ,重定向类型选择 参阅其他(303) 英文版的是SeeOther

然后点击右上角应用,ok。

或者嫌麻烦的直接将此段代码拷贝至web.config中<system.webServer>节点中,一样的效果

<rewrite>
      <rules>
        <rule name="HTTP to HTTPS redirect" stopProcessing="true">
          <match url="(.*)" />
          <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                        <add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
        </rule>
      </rules>
    </rewrite>

然后,我们使用浏览器访问网站,直接输入???.com或者www.???.com或者http://www.???.com或者https://www.???.com都是访问的https://www.???.com,这表示配置URL重写成功。

 

转载请说明出处:第六感博客 原文链接:

相关阅读:

升级启用https 但是http链接访问报错403