Https 协议
前言
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
HTTPS和HTTP的区别
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
在IIS中安装SSL
一、在IIS中生成Certificate Signing Request (CSR)
个人理解:生成CSR就是生成“私钥/公钥对”之后从中提取出公钥。
1. 打开IIS Manager,在根节点中选择Server Certificates(服务器证书),点击右侧的Create Certificate Request...,然后填写相应的Distinguished Name Properties(见下图)。

Common name中填写域名(如果用于所有二级域名,填*.域名),Organization中公司名称,Organizational unit填写部门名称。
2. 在Cryptographic service provider中选择Microsoft RSA SChannel Cryptographic Provider,在Bit length中选择2048。
3. 选择生成文件的保存路径,完成之后,在生成的txt文件中就会看到以“-----BEGIN NEW CERTIFICATE REQUEST-----”开头的CSR内容。这就是接下来在CA机构中生成CA证书时要用到的CSR。
二、从CA机构购买并创建CA证书
这里以GoDaddy为例。
1. 打开godaddy.com网站,通过菜单进入Products -> SSL&Security -> SSL Certificates,选择Protect All Subdomains("Wildcard"), 在Pick your plan type中,选择Standard(Validates domain ownership),然后完成购买。
2. 进入My Account -> SSL CERTIFICATES,创建证书(Certificate),创建时将之前得到的CSR内容复制到“CSR文本框”中。
3. 接入来进入GoDaddy的审批流程,在审批过程中需要验证域名的所有者(dns填加记录或上传html文件至网站目录),验证成功后很快就会生成CA证书。
4. 下载CA证书文件至生成CSR的服务器上。
三、在IIS中安装CA证书
1. 回到第一步中生成CSR的服务器上,进入IIS的Server Certificates(服务器证书),点击Compelete Certificate Request,进入Specify Certificate Authority Response窗口填写相应内容(见下图)。

File name填写第二步中从CA机构下载的证书文件路径(.crt),Friendly name填写第一步中创建CSR时填写的Common name(*.域名),Certificate store选择Web Hosting,然后点击OK。
2. 如果用的是IIS 8.0,在创建过程中出现“Failed to remove the certificate”的提示,不用理会。
3. 创建成功之后,会在Server Certificates中看到这个证书。
四、在IIS站点中配置https
1. 在生成CSR的同一台服务器上配置https
1.1 选择相应的站点,右键选择Edit Bindings,点击Add。
1.2 在Type中选择https,在SSL certificate的下拉菜单中会看到之前安装的CA证书(见下图)。

1.3 选择CA证书之后就完成了https的配置。
2. 在另外的服务器上配置https
2.1 先进入之前已经安装CA证书的服务器,在Server Certificates中导出证书,并将证书文件(.pfx)复制到需要配置https的服务器。
2.2 进入需要配置https的服务器,在Server Certificates中导入证书,导入成功之后,按照之前的1.1-1.3的步骤配置https。
五、其他相关配置
1. 在配置https的服务器的Windows防火墙上允许443的端口的访问。
2. 如果需要将所有http的请求重定向至https,可在IIS的URL Rewrite Module中添加如下的规则:


web.config中对应的配置:
<rewrite>
<rule name="Redirect to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
参考:百度百科
http://www.cnblogs.com/dudu/p/3457246.html
Https 协议的更多相关文章
- 网站使用https协议
了解https HTTPS 是以安全为目标的 HTTP 通道,即 HTTP 下加入 SSL 加密层.HTTPS 不同于 HTTP 的端口,HTTP默认端口为80,HTTPS默认端口为443. SSL ...
- 服务器开启https协议
开启Tomcat https服务 发布企业级应用的时候遇到一个问题,就是IOS7.1之后app的下载地址URL必须是https开头的协议,所以服务器必须支持https协议. 实验环境:Mac OSX ...
- 【转】Tomcat启用HTTPS协议配置过程
转载请注明出处: http://blog.csdn.net/gane_cheng/article/details/53001846 http://www.ganecheng.tech/blog/530 ...
- IIS同时实现网站部分使用https协议访问另一部分http访问
一:什么是https SSL(Security Socket Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安全性,同 ...
- HTTPS 协议和原理
1 HTTPS 协议概述 HTTPS 可以认为是 HTTP + TLS.HTTP 协议大家耳熟能详了,目前大部分 WEB 应用和网站都是使用 HTTP 协议传输的. TLS 是传输层加密协议,它的前身 ...
- 浅谈HTTPS以及Fiddler抓取HTTPS协议
最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求等HTTPS协议都没有捕捉到,所以想让Fiddler能够同 ...
- HTTPS协议说明
HTTPS协议说明 基本现在最安全的网络连接就是使用https了,http协议有几个不安全的地方: 传输信息是明文的. -- http的传输信息是明文的,基本网络劫持下就束手就擒了. 不能防止篡改. ...
- 下载https协议需要的cer证书
一:https简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全 ...
- 大型网站的 HTTPS 实践(1):HTTPS 协议和原理
转自:http://op.baidu.com/2015/04/https-s01a01/ 1 前言 百度已经于近日上线了全站 HTTPS 的安全搜索,默认会将 HTTP 请求跳转成 HTTPS.本文重 ...
- https协议了解,以及相关协议的解析
HTTPS简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版. ...
随机推荐
- [poj2286]The Rotation Game (IDA*)
//第一次在新博客里发文章好紧张怎么办 //MD巨神早已在一个小时前做完了 The Rotation Game Time Limit: 15000MS Memory Limit: 150000K To ...
- maven环境快速搭建(转)
主要介绍maven在本地安装使用 http://www.cnblogs.com/fnng/archive/2011/12/02/2272610.html 使用Eclipse构建Maven项目 (s ...
- Jsoup模拟登陆例子
Jsoup模拟登陆小例子,不同的网站,需要不同的模拟策略,散仙在这里仅仅作为一个引导学习. package com.jsouplogin; import java.util.HashMap; impo ...
- JS获取URL中参数值(QueryString)的4种方法分享<转>
方法一:正则法 复制代码代码如下: function getQueryString(name) { var reg = new RegExp('(^|&)' + name + '=([^ ...
- Linux 中如何卸载已安装的软件
Linux 中如何卸载已安装的软件. Linux软件的安装和卸载一直是困扰许多新用户的难题.在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序”来实现.与其相类似, ...
- 【Todo】LR-逻辑回归
因为逻辑回归对于计算广告学非常重要.也是我们平时广告推荐.CTR预估最常用到的算法.所以单独开一篇文章讨论. 参考这篇文章:http://www.cnblogs.com/sparkwen/p/3441 ...
- Fragments
http://developer.android.com/guide/components/fragments.html#Design Content Design Philosophy Creati ...
- FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT用法
Activity的两种启动模式: FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT 1. 如果已经启动了四个Activity:A,B,C和D ...
- [css] px em rem
一.区别 px是相对于显示器屏幕分辨率而言的. em相对于浏览器的默认字体尺寸. rem相对于HTML根元素. 二.使用 1.em 任意浏览器的默认字体高都是16px.所有未经调整的浏览器都符合: ...
- windows服务名称不是单个单词的如何启动?
比如要启动 Memcached Server: 命令行中输入命令要注意大小写,大小写要保持一致,正确的写法如下: net start "Memcached Server". ...